使用gpfdist unload 数据

来源:互联网 发布:硬盘文件恢复软件 编辑:程序博客网 时间:2024/05/17 08:03

介绍使用greenplum-loader 中的 gpfdist
目的:为了高效数据迁移
情景:1.unload
gp数据库master 在ip为192.168.12.127服务器,greenplum-loader 在ip为192.168.12.94服务器,将数据文件写到ip为192.168.12.94服务器。再将数据
2.再将ip为192.168.12.94服务器上的数据文件 load 到 gp数据库master 在ip为192.168.12.128服务器
一.unload 数据到94
1.启动 gpfdist
在linux 中启动 命令为

[root@server-94 bin]# gpfdist -p 8899gpfdist: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory[root@server-94 bin]# source ~/.bashrc[root@server-94 bin]# gpfdist -p 8899

启动时报错是因为环境变量没有生效,一定要使其生效否则无法启动啊(坑了我一小天),血的教训
有的博客上说要在gpfdist -p 8899+& 格式为gpfdist -p 8899 &(然并卵啊)
2.在一个会话中创建外部表,此处有一个坑外部文件默认放在/usr/local/bin下(greenplum-loader默认安装路径)
先创建外部表

 CREATE WRITABLE EXTERNAL TABLE unload_zxs_test2    ( LIKE zxs_test2 )    LOCATION ('gpfdist://192.168.12.94:8899/zxs_test2.txt') FORMAT 'TEXT' (DELIMITER '|');

再写数据到外部表

  INSERT INTO unload_zxs_test2 SELECT * FROM zxs_test2

以上过程执行结束后将在94服务器生成数据文件

二.load 数据到128
1.启动 指定数据文件路径

 gpfdist -p 8899 -d /shsnc/dmp/software

2.加载数据

 CREATE EXTERNAL TABLE load_zxs_test2 (    e_id INTEGER,        e_name CHARACTER VARYING(30),        e_date DATE,        e_address CHARACTER VARYING(100),        e_tel CHARACTER VARYING(11),        e_id_1 INTEGER,        e_name_1 CHARACTER VARYING(30),        e_date_1 DATE,        e_address_1 CHARACTER VARYING(100),        e_tel_1 CHARACTER VARYING(11)   )       LOCATION ('gpfdist://192.168.12.94:8899/zxs_test2.txt')   FORMAT 'TEXT' ( DELIMITER '|' NULL ' ')        LOG ERRORS SEGMENT REJECT LIMIT 5;  INSERT INTO zxs_test0 SELECT * FROM load_zxs_test2
原创粉丝点击