5步带你入门GaussDB(DWS)的GDS导入导出
摘要:本篇文档为使用GDS导入示例的具体简单步骤和示例。
本文分享自华为云社区《带你快速入门GDS导入导出,玩转PB级数仓GaussDB(DWS)》,作者: yd_220527686。
1、创建导入目标表
CREATE TABLE tpcds_reasons ( r_reason_sk integer not null, r_reason_id char(16) not null, r_reason_desc char(100) );
2、创建与目标表一致的外表
#外表中配置了数据源格式信息、GDS服务的访问信息,从而GaussDB(DWS)最终可以通过外表将数据服务器上的数据引流进数据库实表中。
DROP TABLE IF EXISTS foreign_tpcds_reasons; CREATE FOREIGN TABLE foreign_tpcds_reasons ( r_reason_sk integer not null, r_reason_id char(16) not null, r_reason_desc char(100) ) SERVER gsmpp_server OPTIONS ( LOCATION 'gsfs://127.0.0.1:8780/*', FORMAT 'CSV' , DELIMITER ',', ENCODING 'utf8', HEADER 'false', FILL_MISSING_FIELDS 'true', IGNORE_EXTRA_DATA 'true' );
创建成功后可以使用alter修改表的属性,示例如下:
alter foreign table foreign_tpcds_reasons options(set quote '"');
3、启动本地gds
gds -d dir -p ip:port -H address_string -l log_file -D
注意端口号与外表端口号一致,示例如下:
gds -d /input_data/ -D -p 127.0.0.1:8780 -l /CodeHub/gds_log.txt -H 0/0 -t 10 -D
4、执行导入
INSERT INTO [目标表名] SELECT * FROM [foreign table 表名];
出现INSERT 0 3类信息表示数据导入成功,示例如下:
INSERT INTO tpcds_reasons SELECT * FROM foreign_tpcds_reasons;
5、tips
设置\set VERBOSITY verbose可看到导入失败的更多信息,包括gauss-00000类型错误码,SQLSTATE,以及HINT等信息
导入数据类型需与外表的各个参数做对应,比如:FORMAT为csv文件,以空格做字段分割,在外表创建时,DELIMITER需以空格为分割符
本篇文档为使用GDS导入示例的具体简单步骤和示例,如需详细介绍及参数说说明,请参考DWS产品文档。