前面两篇文章已经介绍了DataX的基本信息及插件开发,接下来就该介绍下如何将开发的程序打包运行起来。
开发手册里面已经说明了DataX源码编译使用assembly
打包,打包命令如下:
mvn clean package -DskipTests assembly:assembly
所以pom.xml内需要加上assembly-plugin,同时package.xml内需要配上新增模块打包路径信息。
至此,dataX插件打包所需的依赖就准备完毕了,接下来就是assembly打包了。如果你电脑没有安装MVN,且未配置MVN环境变量,你可以出门右转了。慢走不送...
接下来就是在ideaJ内打开控制台,并执行“'mvn -U clean package assembly:assembly -Dmaven.test.skip=true”.
为了打包快速,可以将dataX父pom文件内的模块都注释掉,只留下需要打包的模块和公用模块
打包完成之后,将reader/writer复制到dataX->plugin对应目录
接下来就是写job.json啦,我这里有个自己写的oracle2pgsql.json.
{ "job": { "setting": { "speed": { "byte":10485760 }, "errorLimit": { "record": 0, "percentage": 0.02 } }, "content": [ { "reader": { "name": "oraclereader", "parameter": { "username": "LAW", "password": "LAW", "column": ["TABLE_NAME","COLUMN_NAME","OBSOLETE_DATE"], "connection": [ { "table": ["APEX_030200.WWV_COLUMN_EXCEPTIONS"], "jdbcUrl": ["jdbc:oracle:thin:@//172.16.22.160:51600/ORCL"] } ] } }, "writer": { "name": "postgresqlwriter", "parameter": { "username": "postgres", "password": "pp!@#ABC!!", "column": [ "table_name", "column_name","obsolete_date"], "preSql": [ "delete from t_test" ], "connection": [ { "jdbcUrl": "jdbc:postgresql://172.16.22.158:55432/datax?useUnicode=true&characterEncoding=utf8", "table": [ "t_test" ] } ] } } } ] } }
可能看起来有些懵,可以去看上一篇,里面让你们复制的两个文件,这个文件就是对应的reader/writer的job模板。
至于job模板内容格式,官方也给出了详细的介绍,见 参数配置