使用gpfdist导入导出数据
  aOYB9Qh7rxCg 2023年11月02日 59 0

Greenplum数据库导入导出数据有多种方法,但其中性能最佳者非gpfdist莫属。gpfdist的使用非常简单: 1. 配置并启动gpfdist 使用gpdmin登录服务器

gpfdist -d /data -p 8888  -l /tmp/gpfdist.log &

-d 后面跟数据保存路径 -p 是gpfdist所使用的端口,自行定义,无冲突即可 -l 后面是gpfdist操作日志的存放路径 & 是后台运行,这样即便退出server登录,也不会中断gpfdist服务 完成后,可使用以下命令检查是否正常运行:

ps -ef|grep pfdist

2. 导入数据 2.1创建可读外部表

create external table externameTableName (col1 datatype1, col2 datatype2…………) 
LOCATION('gpfdist://服务器IP:端口/dataFile') FORMAT '数据源类型' (HEADER DELEMITER AS ',') encoding 'utf-8';

上述内容中: externameTableName: 外部表名 dataFile 为要导入的数据源文件,比如sd.dat, sd.sql等 数据源类型:建议使用csv或sql。比如txt文件,由于没有包含格式,涉及非文本型数据时,可能会出错。 encoding:建议使用utf-8。 注:有些文章说还要log errors into err.test_csv,这个是用于保存出错信息的。但从Greenplum 5开始已经不用了,所以不需理会。 2.2 导入数据库 这一步就当是进行表间的insert操作,非常简单快捷:

insert into target_table 
select * from externameTableName;

搞定! 3. 导出数据 导出数据与导入数据相比,无非就是外部表的创建,需要创建可写外部表。即:

create writable external table externameTableName (col1 datatype1, col2 datatype2…………) 
LOCATION('gpfdist://服务器IP:端口/dataFile') FORMAT '数据源类型' (HEADER DELEMITER AS ',') encoding 'utf-8';

成功后,也可以当成数据库中的表来正常操作即可。如:

insert into externameTableName 
select * from gpTableName;
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
aOYB9Qh7rxCg