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

  
    展开阅读全文        
1 打赏
打赏 20 积分后可见