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模板内容格式,官方也给出了详细的介绍,见 参数配置
作者:JackpotHan
欢迎任何形式的转载,但请务必注明出处。
限于本人水平,如果文章和代码有表述不当之处,还请不吝赐教。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下