1.概述
GBase 8a MPP Cluster提供了面向用户的SQL接口加载方式。
支持如下功能:
l 支持本地文件加载
l 支持从通用数据服务器拉取数据加载;
l 支持FTP/HTTP/HDFS/SFTP等多种协议;
l 支持多加载机对单表的并行加载,最大化加载性能;
l 支持普通文本、gzip压缩、snappy压缩、lzo压缩等多种格式数据文件加载;
l 支持普通文本与定长文本的加载,并与V8.5.1.2和V86版本格式兼容;
l 支持加载状态和信息的实时查询
l 支持错误数据溯源功能,可以准确定位错误数据在源文件中的位置;
l 加载性能可以随着集群规模的扩展而持续提升。
2.语法
|
LOAD
DATA INFILE 'file_list' INTO TABLE[vcname.] [dbname.]tbl_name [options] |
说明
file_list说明
l 集群本地数据源加载:
1) 支持指定一个或多个数据节点上的本地文件进行加载。使用file://host+abs_path,多个file://host+abs_path之间使用逗号分隔,支持采用直接读取模式加载指定集群数据节点的本地文件。
2) 支持指定所有数据节点并发加载各自节点上的文件。使用file://+abs_path,多个file://+abs_path之间使用逗号分隔,支持采用直接读取模式加载集群所有数据节点的本地文件。
l 集群以外的通用文件服务器上的数据源加载:
1) 通用文件服务器上需要搭建ftp/http/hdfs/sftp服务,并将数据文件拷贝到服务配置的路径下,保证集群节点能通过相应服务访问到数据。
2) 加载时使用URL的方式指定通用文件服务器上的数据文件路径,以逗号(',')作为多个文件/目录 的分隔符,格式为“scheme://host:port/path,
scheme://host:port/path”,
同时文件名、目录部分均支持使用通配符,默认对路径及文件进行匹配,如:“http://10.10.1.1/data/??????/*.tbl”。
3.示例
示例:
|
LOAD
DATA INFILE 'ftp://gbase:gbase@127.0.0.1/data/a.tbl' INTO TABLE test.t DATA_FORMAT 3; LOAD DATA INFILE 'http://127.0.0.1/data/b.tbl.gz'
INTO TABLE test.t
DATA_FORMAT 3; LOAD DATA INFILE
'hdp://gbase@127.0.0.1:50070/data/a.tbl.snappy' INTO TABLE test.t DATA_FORMAT 3; 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'; |
加载状态和结果查看示例:
|
-- 加载状态监控 gbase> use information_schema; gbase> select * from load_status; -- 显示task_id 100任务的从第1条开始的后面5条错误数据信息 gbase> show load logs 100 limit 1,5; -- 显示所有coordinator节点上task_id 101任务的前10条错误数据信息 gbase> show gcluster load logs 101; -- 查询所有coordinator节点,select查询形式,查询加载信息,表名为:CLUSTER_LOAD_RESULT gbase> select * from information_schema.cluster_load_result; |




