Fork me on GitHub

DataX学习指南(三)-- 程序打包

  前面两篇文章已经介绍了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模板内容格式,官方也给出了详细的介绍,见 参数配置     

 

posted @ 2022-04-21 16:55  JackpotHan  阅读(1700)  评论(0编辑  收藏  举报