带你快速入门GDS导入导出,玩转PB级数仓GaussDB(DWS)

举报
yd_220527686 发表于 2023/01/06 14:26:09 2023/01/06
【摘要】 带你快速入门GDS导入导出,玩转PB级数仓GaussDB(DWS) 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服务的访...

带你快速入门GDS导入导出,玩转PB级数仓GaussDB(DWS)

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产品文档。

【一起来玩转PB级数仓GaussDB(DWS),分享你的技术经验与体验心得,赢开发者大礼包!】

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。