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

先把测绘的代码写上 就一行。
突然想起来还有好多代码没敲完!!!!先写到这,后面的下午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没写错的话应该就没什么问题了
可以接着往下开发了。
DataX通过纯Java代码启动的更多相关文章
- 基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置
经过<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(1) - 数据源与事务管理>和<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(2) - ...
- Android 使用纯Java代码布局
java布局 java代码布局和xml布局的区别 1.Java纯布局更加的灵活,比如自定义控件或一些特殊要求时,使用java代码布局 2.常用的xml布局是所见即所得的编写方式,以及xml本身拥有一些 ...
- 帧动画的创建方式 - 纯Java代码方式
废话不多说,先看东西 帧动画的创建方式主要以下2种: * 用xml创建动画: * 纯Java代码创建动画: 本文内容主要关注 纯java代码创建帧动画 的方式: 用xml创建帧动画:http:// ...
- 在Android中用纯Java代码布局
感谢大佬:https://www.jianshu.com/p/7aedea560f16 在Android中用纯Java代码布局 本文的完成了参考了一篇国外的教程,在此表示感谢. Android中的界面 ...
- 如何使用java代码启动tomcat和打开浏览器
1.用于代码启动tomcat,也可以用代码运行电脑应用程序 public static void main(String[] args) { /* new MyThread().start(); ne ...
- 【Azure Developer】使用Java代码启动Azure VM(虚拟机)
问题描述 在使用Java的启动Azure VM的过程中,遇见了com.azure.core.management.exception.ManagementException: Status code ...
- Android Studio编写运行测试纯java代码可带main()函数
问题 小伙伴们在做安卓项目的时候,是不是有时候会忘记某些api的使用方法,不太确定他们的结果是怎样的,需要写一些测试代码,验证看看我们的写法是否正确.刚开始的时候我是在页面上写一个Button,添加点 ...
- Java 18 新特性:使用Java代码启动jwebserver
前几天分享了Java 18 新特性:简单Web服务器的jwebserver命令行功能. 今天换一种方式,使用Java代码来实现一个静态资源服务器. 详细步骤我录了个视频放到B站了,感兴趣的小伙伴可以点 ...
- 纯Java代码 图片压缩
Java图片压缩代码 package com.img; import java.awt.Image; import java.awt.image.BufferedImage; import java. ...
随机推荐
- Java经典编程题50道之二十七
求100之内的素数. public class Example27 { public static void main(String[] args) { prime(); } ...
- bzoj 1814 Ural 1519 Formula 1 插头DP
1814: Ural 1519 Formula 1 Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 942 Solved: 356[Submit][Sta ...
- Elasticsearch-深入理解索引原理
最近开始大面积使用ES,很多地方都是知其然不知其所以然,特地翻看了很多资料和大牛的文档,简单汇总一篇.内容多为摘抄,说是深入其实也是一点浅尝辄止的理解.希望大家领会精神. 首先学习要从官方开始地址如下 ...
- 剑指offer 丑数
思路:可以发现,每个丑数都是由以前的丑数得到.当前丑数一定是之前丑数能够得到的最小丑数. AC代码 class Solution { public: int GetUglyNumber_Solutio ...
- CodeForces - 681A A Good Contest
咳咳,从今天开始,每天做一个英语题,不论简单还是难,坚持到下学期的省赛,希望能有效果. 这题就是判断是否能成为red,如果他超越的人里面有在比赛前分数达到2400,并且在比赛后分数上升,那么他就能成为 ...
- nyoj44 子串和 线性DP
线性DP经典题. dp[i]表示以i为结尾最大连续和,状态转移方程dp[i] = max (a[i] , dp[i - 1] + a[i]) AC代码: #include<cstdio> ...
- 关于MYCAT 读写分离,与只读事务的问题.
习惯性为了复用mysql连接,喜欢加上@Transactional(readOnly = true) 只读事务,很多零碎的查询下,速度会快一些,也环保一些. 最近用mycat做了读写分离,其中一个查询 ...
- SIFT解析(三)生成特征描述子
以上两篇文章中检测在DOG空间中稳定的特征点,lowe已经提到这些特征点是比Harris角点等特征还要稳定的特征.下一步骤我们要考虑的就是如何去很好地描述这些DOG特征点. 下面好好说说如何来描述这些 ...
- easywechat之微信支付--在thinkPHP5中的使用
1. 准备工作 1.1 easywechat 安装完成 未安装移步至 -> http://www.cnblogs.com/flyphper/p/8484600.html 1.2 确定支付相关的配 ...
- C语言老司机学Python (四)
字符串格式化: 可以使用类似c语言中sprintf函数的方法进行格式化,但是函数名称是print() 如:print('常量 PI 的值近似为:%5.3f.' % var_PI) 注意var_PI ...