gbase 导入各种模式
gbase 只支持 hdfs,ftp,http,sftp 这几种协议的导入
几种导入方式
- 1 多数据文件加载
指定多个数据源文件,文件可以不在同一个文件服务器,逗号分隔。
gbase> LOAD DATA INFILE ’ftp://192.168.0.1/pub/lineitem.tbl,
http://192.168.0.2/lineitem.tbl’ INTO TABLE test.lineitem FIELDS
TERMINATED BY ‘|’ ENCLOSED BY ‘"’ LINES TERMINATED BY ‘\n’;
- 2 使用通配符加载多数据文件
在加载文件名中使用通配符,可以指定同一目录下的多个文件。在一条加
载语句中可以指定多个包含通配符的文件名。目前支持在文件名中使用 *,*.tbl
样式的通配符,在 FTP/HTTP/HDFS/SFTP 协议中均可使用通配符。
支持通配符方式加载的 FTP 服务器,需要其支持 LIST 命令。已测试 vsftpd 和
IIS FTP 均满足此要求。
支持通配符方式加载的 HTTP 服务器,需要其响应目录请求。由于不同的 HTTP
服务器对目录请求的响应不同,可能有些 HTTP 服务器不支持以通配符方式加载
数据文件。已测试 Apache HTTP 和 IIS HTTP 均满足此要求。
加载过程:
gbase> LOAD DATA INFILE ‘ftp://192.168.10.114/data/*’ INTO TABLE test.t;GBase 8a MPP Cluster
- 3 指定包围符、列分隔符、行分隔符加载
加载过程:
gbase> LOAD DATA INFILE ‘ftp://192.168.0.1/pub/lineitem.tbl’ INTO TABLE
test.lineitem FIELDS TERMINATED BY ‘|’ ENCLOSED BY ‘"’ LINES TERMINATED
BY ‘\n’;
- 4 指定数据文件中 TIMESTAMP 列的格式
gbase> LOAD DATA INFILE ‘http://10.10.120.226/timestamp.txt’ INTO TABLE
test.ttimestamp DATA_FORMAT 3 FIELDS TERMINATED BY ‘|’ TIMESTAMP FORMAT
‘%Y-%m-%d %H:%i:%s’;
- 5 使用 TABLE_FIELDS 指定加载列和日期格式
建表语句:
create table t (i int, vc varchar(10), dt datetime default ’2000-01-01
00:00:01’, dt1 datetime default ‘2000-01-01 00:00:01’);
gbase> load data infile
‘ftp://192.168.88.141/load_data/table_fields.tbl’ into table test.t
fields terminated by ‘,’ table_fields ’i, vc, dt date “%H:%i:%s %Y-%m-%d”,
dt1 date “%Y-%m-%d %H:%i:%s”’;
- 6 使用 AUTOFILL 关键字补齐缺失数据
gbase> load data infile ‘ftp://192.168.88.141/load_data/autofill.tbl’
into table test.t fields terminated by ‘|’ autofill;
- 7 定长文本加载
建表语句:
create table t (i int, vc varchar(10), c char(10));
数据文件:
099121413321565086687636597553
587231374843706182211816625391
371909169687901865998438248540
768084517620945445680375033918
521019961269855481454503093679
872098120283548973190459767139
047458772732776053730815273248
749195982779059832391367570454
773781140773581380240166238167
733086147402918352113773075709
加载过程:
gbase> load data infile ‘ftp://192.168.88.141/load_data/definer.tbl’
into table test.t data_format 4 fields definer ‘1,10,10’;
Query OK, 10 rows affected
Task 1128 finished, Loaded 10 records, Skipped 0 records
查询入库数据:
gbase> select * from t;
+——+————+————+
| i | vc | c |
+——+————+————+
| 3 | 7190916968 | 7901865998 |
| 0 | 4745877273 | 2776053730 |
| 0 | 9912141332 | 1565086687 |
| 7 | 7378114077 | 3581380240 |
| 5 | 8723137484 | 3706182211 |
| 7 | 3308614740 | 2918352113 |
| 7 | 6808451762 | 0945445680 |
| 5 | 2101996126 | 9855481454 |
| 8 | 7209812028 | 3548973190 |
| 7 | 4919598277 | 9059832391 |
+——+————+————+
10 rows in set
本文内容由互联网用户自发贡献,版权归作者所有,本社区不拥有所有权,也不承担相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:jaagool@sina.cn 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。