GreenPlum导入导出数据(二)gpfdist

1.在linux下启动gpfdist服务

gpfdist是Greenplum自带的工具,无需安装其他依赖或服务

$ gpfdist -d /u01 -p 5555  -l /tmp/gpfdist.log &

参数解释:

-d 数据文件所放的目录

-p 设置访问gpfdist端口,这个可以根据实际情况写。

-l 设置日志文件所放的目录,这个参数也可以不用填写。

& 必须要写。

GreenPlum导入导出数据(二)gpfdist_第1张图片

查看gpfdist是否开启:ps -ef|grep pfdist

启动前:

启动后:

 

2.导入数据

2.1创建external table(可读外部表)

=# create external table 外部表名(列名1 数据类型,列名2 数据类型...)LOCATION('gpfdist://服务器IP:gpfdist服务的端口/数据源文件') FORMAT '数据源模式' (HEADER DELEMITER AS ',')  log errors into err.test_csv  encoding 'utf-8';

GreenPlum导入导出数据(二)gpfdist_第2张图片

注意:

外部表的数据定义不能有约束条件如not null ,default 等。

HEADER 表示csv文件的第一行定义了数据的数据类型

DELIMITER ',' 表示用,分隔数据

NULL as '' 表示''为空值

encoding 'utf-8' 表示用utf-8编码

 log errors into err.test_csv 表示将错误的数据导出到err.test_csv (Greenplum5已经废除)

GreenPlum导入导出数据(二)gpfdist_第3张图片

 

2.2 insert into 导入数据

=# insert into 需要导入到的表名 select  * from 外部表名

GreenPlum导入导出数据(二)gpfdist_第4张图片

 

3.导出数据

3.1创建 writable external table (可写外部表)

GreenPlum导入导出数据(二)gpfdist_第5张图片

注意:与external table相比,没有了header

w_drugs.csv是导出的文件,没有此文件的话在创建外部表后会自动生成

 

3.2 insert into 导出数据

=# insert * into 可写外部表名 from 内部表

GreenPlum导入导出数据(二)gpfdist_第6张图片

GreenPlum导入导出数据(二)gpfdist_第7张图片

你可能感兴趣的:(Greenplum)