使用kettle从postgresql导出表,并向greenplum写入的时候,速度很慢,只有1000行/秒左右,而且导入到570万行就报错了。所以上网查了一下有说可以用datax导数的,就下了个datax的免安装直接解压就可用的版本,结果不带向greenplum导入的功能,只有向postgresql导入的功能,估计是编译的比较早的版本。从git下下载了新的版本,编译时报错,说有jar包找不到,编译不出来,看到有人说要得改pom。
修改编译目录下odpswriter下的pom.xml 和odpswriter下的pom.xml
<dependency>
<groupId>com.aliyun.odps</groupId>
<artifactId>odps-sdk-core</artifactId>
<version>0.19.3-public</version>
</dependency>
要将版本修改成
<version>0.20.7-public</version>
编译成功后在target/datax-v1.0.3-hashdata下有个datax,在这个datax的bin目录下执行以下脚本。注意使用python 2代。
python2 datax.py -r postgresqlreader -w gpdbwriter
执行后会打印出一段json文件,将这个文件写到一个文本中,修改其中的参数后另存为 需要使用的名字.json, 然后用 python2 datax.py 需要使用的名字.json 来执行。
!!默认生成的json文件中&#x