bindata java_DataX通过纯Java代码启动

本文介绍了如何通过Java代码启动DataX,适用于需要在DataX上进行二次开发的场景。内容包括配置Java启动参数,设置环境变量,以及解决启动过程中遇到的插件加载和配置文件路径问题。
摘要由CSDN通过智能技术生成

DataX是阿里巴巴团队开发的一个很好开源项目,但是他们对如何使用只提供了python命令启动方式,这种方式对于只是想简单的用下DataX的人来说很是友好,仅仅需要几行代码就可以运行,但是如果你需要在DataX上进行二次开发,那么用python来控制程序加显得很没有掌控力度,也不容易和别的模块进行融合,今天来说下DataX纯Java代码的启动方式,也顺便来记录一下以后想用的时候加能直接用了

53952a0bc00a7920c24a56066ec59807a92.jpg

先把测绘的代码写上  就一行。

突然想起来还有好多代码没敲完!!!!先写到这,后面的下午6点前更新。

---------------------------------------------------

机器太差了,给mysql创建1000万条数据一直创建不好,正好趁这个时间来继续更新

这里面启动的时候会加载两个配置文件 一个是datax.py  另一个是 xxx.json

先说第一个    这是一个python格式的配置文件,如果我们用纯java来启动的话需要把这个配置转换一下

转换成Java格式大致就是下面这些

java

//JVM启动参数

-server

-Xms1g

-Xmx1g

-Xms1g

-Xmx1g

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/Users/xx/JavaProjects/DataX-master/core/src/main/log

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath=/Users/xx/JavaProjects/DataX-master/core/src/main/log

//环境变量

-Dloglevel=info

-Dfile.encoding=UTF-8

-Dlogback.statusListenerClass=ch.qos.logback.core.status.NopStatusListener

-Djava.security.egd=file:///dev/urandom

-Ddatax.home=/Users/hongming/JavaProjects/DataX-master/core/src/main

-Dlogback.configurationFile=/Users/xx/JavaProjects/DataX-master/core/src/main/conf/logback.xml

-Dlog.file.name=c_main_bin_data_json

-classpath /Users/xx/JavaProjects/DataX-master/core/src/main/lib/*:.

com.alibaba.datax.core.Engine -mode standalone -jobid -1 -job /Users/xx/Downloads/datax-b/core/src/main/bin/job.json

这时候我们按照这个来配置一下环境变量

Run--》Edit Configurations

涉及到项目隐私  我就不贴图了

配置如下

program arguments  com.alibaba.datax.core.Engine -mode standalone -jobid -1 -job /Users/xx/Downloads/datax-b/core/src/main/bin/job.json

Environment variables

-Dloglevel=info

-Dfile.encoding=UTF-8

-Dlogback.statusListenerClass=ch.qos.logback.core.status.NopStatusListener

-Djava.security.egd=file:///dev/urandom

-Ddatax.home=/Users/hongming/JavaProjects/DataX-master/core/src/main

-Dlogback.configurationFile=/Users/xx/JavaProjects/DataX-master/core/src/main/conf/logback.xml

-Dlog.file.name=c_main_bin_data_json

-D去掉之后依次添加进去

比如 loglevel=info

module  选core

配置完成  点击ok

然后这时候如果你点运行的话会告诉你插件加载失败

我们来看看插件加载的路径在哪

找了一圈 。发现在这个路径下

com/alibaba/datax/core/util/container/CoreConstant.java

这里面是配置的全局变量和局部变量  这时候你把自己的插件

DATAX_PLUGIN_READER_HOME

DATAX_PLUGIN_WRITER_HOME

路径修改为自己的

如果提示找不到 core.json的配置文件 那就把上面的

DATAX_CONF_PATH

修改成自己的

这时候如果你的json没写错的话应该就没什么问题了

可以接着往下开发了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值