1.在linux下启动gpfdist服务
gpfdist是Greenplum自带的工具,无需安装其他依赖或服务
$ gpfdist -d /u01 -p 5555 -l /tmp/gpfdist.log &
参数解释:
-d 数据文件所放的目录
-p 设置访问gpfdist端口,这个可以根据实际情况写。
-l 设置日志文件所放的目录,这个参数也可以不用填写。
& 必须要写。
查看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';
注意:
外部表的数据定义不能有约束条件如not null ,default 等。
HEADER 表示csv文件的第一行定义了数据的数据类型
DELIMITER ',' 表示用,分隔数据
NULL as '' 表示''为空值
encoding 'utf-8' 表示用utf-8编码
log errors into err.test_csv 表示将错误的数据导出到err.test_csv (Greenplum5已经废除)
2.2 insert into 导入数据
=# insert into 需要导入到的表名 select * from 外部表名
3.导出数据
3.1创建 writable external table (可写外部表)
注意:与external table相比,没有了header
w_drugs.csv是导出的文件,没有此文件的话在创建外部表后会自动生成
3.2 insert into 导出数据
=# insert * into 可写外部表名 from 内部表