前面兩篇文章已經介紹了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模板內容格式,官方也給出了詳細的介紹,見 參數配置