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

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

1、创建测试表

GreenPlum数据的装载与卸载之copy命令的使用
由于在建表语句中,没有指定具体使用哪个字段进行数据分发,所以系统默认使用package_id进行数据分发。

2、数据的卸载

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

3、数据的加载

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

猜你喜欢

转载自blog.51cto.com/candon123/2410841
今日推荐