GBase 8a 集群加载数据LOAD的方法

86版本不再使用加载服务dispserver和控制文件,而是采用了SQL方式从数据源(ftp, http, hadoop) 直接加载的方式。本文提供SQL语法和样例。

1.            作用

从数据源将数据加载到指定表中。

2.            使用方法

LOAD DATA INFILE 'file_list'
INTO TABLE [dbname.]tbl_name
[options]
options:
 [CHARACTER SET charset_name]
 [DATA_FORMAT number [HAVING LINES SEPARATOR]]
 [NULL_VALUE 'string']
 [FIELDS
 [TERMINATED BY 'string']
 [ENCLOSED BY 'string']
 [PRESERVE BLANKS]
 [AUTOFILL]
 [LENGTH 'string']
 [TABLE_FIELDS 'string']
 ]
 [LINES
 [TERMINATED BY 'string']
 ]
 [MAX_BAD_RECORDS number]
 [DATETIME FORMAT format]
 [DATE FORMAT format]
 [TIMESTAMP FORMAT format]
 [TIME FORMAT format]
 [TRACE number]
 [TRACE_PATH 'string']
 [NOSPLIT]
 [PARALLEL number]
 [MAX_DATA_PROCESSORS number]
 [MIN_CHUNK_SIZE number]
 [SKIP_BAD_FILE number]
 [SET col_name = value[,...]]
 [IGNORE NUM LINES]
 [FILE_FORMAT format]

3.     IPV6注意事项

IPV6地址前后要用中括号,因为数据源协议里的最后默认是端口号。

ftp://gbase:gbase@[2001::61]/

兼容加载时,在ctl文件要加上中括号,在dispcli_config.conf里也要加上中括号。

server=[2001::61]{/home/gbase/:ftp://gbase:gbase@[2001::61]/}

4            使用样例

LOAD DATA INFILE

‘ftp://ftploaduser:ftploaduser@xxx.xx.xx.191/data/tbname_toload/Tbname20160730143000_20160730150000.ldr’

INTO TABLE `test86`.`tbname_86`

DATA_FORMAT 3

NULL_VALUE ‘\\N’

FIELDS TERMINATED BY ‘|’enclosed by ‘”‘

DATETIME FORMAT

其中最重要的是字段分隔符 TERMINATED BY

如果有自定义的时间,也需要指出

LOAD DATA

       INFILE ‘ftp://gbaseload:gbaseload@192.168.1.1/1.csv,ftp://gbaseload:gbaseload@192.168.1.1/2.csv’

       INTO TABLE zxvmax.aggr_volte_call_ci_15min_20170613

       DATA_FORMAT 3

       FIELDS

              TERMINATED BY ‘^’

       TABLE_FIELDS ‘clttime,neid,hh,source_ne_type’

       DATETIME FORMAT ‘%Y-%m-%d %H:%i:%s.%f’

       TIMESTAMP FORMAT ‘%Y-%m-%d %H:%i:%s.%f’

一些协议的URI样例,请注意协议支持绝对路径的用//表示根,否则默认是协议的默认目录。

ftp://gbaseload:gbaseload@192.168.1.1/2.csv

sftp://gbase:gbase@127.0.0.1//home/gbase/data/a.tbl

sftp://gbase:gbase@127.0.0.1/data/a.tbl

hdp://hadoop@192.168.10.1:50070/data/test.tbl

http://IP/b.tbl.gz

LOAD DATA INFILE ‘hdp://mr:@csjwy-dsj-zdh01:50071/hive/csga_ads.db/ads_kkxx_kkfltgl///*’ into table csga_ads.ads_kkxx_kkfltgl_bak fields terminated by ‘^|~’ table_fields ‘kkbh,kkmc,cpgs,cpys,sjl,rq,sjzx_rksj,sjzx_nbid’ datetime format ‘%Y-%m-%d %H:%i:%s.%f’

加载的数据库参数请参考 GBase 8a集群86版本加载相关参数

GBase 8a 集群加载数据LOAD的方法》有3条评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注