暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MogDB学习笔记-从5开始(gs_loader暂不支持)

2039

写在前面

gs_loader是对特定格式的文本文件执行导入,类似于oracle的sqlloader,通过配置ctl文件,ctl控制文件主要是描述文本文件格式,比如字段、列分隔符、字符集等等。

通过描述得知,gs_loader的主要工作场景主要是针对外部数据(异构数据库)进行导入。

学习环境

NODE1(主库)

NODE2(从库)

Hostname

pkt_mogdb1

pkt_mogdb2

IP

10.80.9.249

10.80.9.250

磁盘

20G

20G

内存

2G

2G

数据导入

  1. 前提条件

通过copy_summary_create函数创建系统表gs_copy_summary。用于记录COPY执行结果汇总,包括成功行数,出错行数,忽略行数,空行数。

call copy_summary_create();

select * from gs_copy_summary;

  1. 准备外部数据

为了方便测试,使用Mogeaver客户端工具导出表dump_tables为csv格式,在Mogeaver中选择要导出的表,右键选择“导出数据”,选择csv格式,由于表的数据量较少,所有有造了一点数据,数据量最后是64M。

[omm@pkt_mogdb1 ~]$ cp dump_tables.csv dump_tables_temp.csv

[omm@pkt_mogdb1 ~]$ for i in {1..10000};do

> cat dump_tables_temp.csv >>dump_tables.csv

> done

  1. 创建测试表

CREATE TABLE dump_tables_loader (

schemaname name,

tablename name,

tableowner name,

tablespace name,

hasindexes varchar(5),

hasrules varchar(5),

hastriggers varchar(5),

tablecreator name,

created varchar(50),

last_ddl_time varchar(50)

)

  1. 编辑ctl

[omm@pkt_mogdb1 ~]$ cat dump_tables_loader.ctl

LOAD DATA

truncate into table dump_tables_loader

CHARACTERSET utf8

fields terminated by ','

trailing nullcols

(

schemaname,

tablename,

tableowner,

tablespace,

hasindexes,

hasrules,

hastriggers,

tablecreator,

created,

last_ddl_time

)

  1. 数据导入

gs_loader control=dump_tables_loader.ctl data=dump_tables_temp.csv db=db_mogdb passwd=Zkh12345678 user=zkh

小插曲到来,未找到命令,查看官方文档中的描述如下:MogDB提供客户端和服务器端应用程序(工具),帮助用户更好地维护MogDB,提供的所有工具如表1所示。工具位于安装数据库服务器的$GPHOME/script和$GAUSSHOME/bin路径下。但是我始终没有找到,然后把所有的MogDB压缩包解压了一下,也没有发现此命令,于是去官网提交了一个问题,问题如下:

当前版本不支持gs_loader,期待这个工具快点到来吧,毕竟现实中导入特定格式的文本文件还是非常常见的。

最后

虽然这次实验没有成功,但是我都是一边测试一边记录笔记,所以也发出来吧,记录一下。

最后修改时间:2022-08-12 13:52:33
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论