码迷,mamicode.com
首页 > 其他好文 > 详细

GreenPlum数据的装载与卸载之copy命令的使用

时间:2019-06-19 10:53:16      阅读:515      评论:0      收藏:0      [点我收藏+]

标签:空值   指定   用户操作   code   技术   l数据库   操作   完成后   postgres   

Copy是PostgreSql数据库自带的数据工具,它不仅支持表于表之间的数据加载,也支持文件于表之间的数据加载和表对文件的数据卸载。对于Greenplum数据库,使用copy命令进行数据加载,数据需要经过Master节点分发到Segment节点;同样使用copy命令进行数据卸载,数据也需要由Segment发送到Master节点,由Master节点汇总后再写入外部文件,这样就限制了数据加载与卸载的效率,数据量较小的情况下,使用copy命令就非常方便。

1、创建测试表

技术图片
由于在建表语句中,没有指定具体使用哪个字段进行数据分发,所以系统默认使用package_id进行数据分发。

2、数据的卸载

这里的数据将使用copy命令从PostgreSQL数据库中导出,如下:
技术图片
如果字段中含有空值,对于txt文件,空值以\N的方式卸载,\N是null的转义。而对于csv格式,使用空值替代。如下:
技术图片
同样,此方法在greenplum上有效。

3、数据的加载

使用copy命令加载数据,必须使用超级用户操作。
技术图片
如上图所示,加载完成后,通过查询可见数据分布比较均匀,基本平均分布在3个Segment节点上。

GreenPlum数据的装载与卸载之copy命令的使用

标签:空值   指定   用户操作   code   技术   l数据库   操作   完成后   postgres   

原文地址:https://blog.51cto.com/candon123/2410841

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!