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代码启动的更多相关文章

  1. 基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置

    经过<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(1) - 数据源与事务管理>和<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(2) - ...

  2. Android 使用纯Java代码布局

    java布局 java代码布局和xml布局的区别 1.Java纯布局更加的灵活,比如自定义控件或一些特殊要求时,使用java代码布局 2.常用的xml布局是所见即所得的编写方式,以及xml本身拥有一些 ...

  3. 帧动画的创建方式 - 纯Java代码方式

    废话不多说,先看东西 帧动画的创建方式主要以下2种: * 用xml创建动画: * 纯Java代码创建动画:   本文内容主要关注 纯java代码创建帧动画 的方式: 用xml创建帧动画:http:// ...

  4. 在Android中用纯Java代码布局

    感谢大佬:https://www.jianshu.com/p/7aedea560f16 在Android中用纯Java代码布局 本文的完成了参考了一篇国外的教程,在此表示感谢. Android中的界面 ...

  5. 如何使用java代码启动tomcat和打开浏览器

    1.用于代码启动tomcat,也可以用代码运行电脑应用程序 public static void main(String[] args) { /* new MyThread().start(); ne ...

  6. 【Azure Developer】使用Java代码启动Azure VM(虚拟机)

    问题描述 在使用Java的启动Azure VM的过程中,遇见了com.azure.core.management.exception.ManagementException: Status code ...

  7. Android Studio编写运行测试纯java代码可带main()函数

    问题 小伙伴们在做安卓项目的时候,是不是有时候会忘记某些api的使用方法,不太确定他们的结果是怎样的,需要写一些测试代码,验证看看我们的写法是否正确.刚开始的时候我是在页面上写一个Button,添加点 ...

  8. Java 18 新特性:使用Java代码启动jwebserver

    前几天分享了Java 18 新特性:简单Web服务器的jwebserver命令行功能. 今天换一种方式,使用Java代码来实现一个静态资源服务器. 详细步骤我录了个视频放到B站了,感兴趣的小伙伴可以点 ...

  9. 纯Java代码 图片压缩

    Java图片压缩代码 package com.img; import java.awt.Image; import java.awt.image.BufferedImage; import java. ...

随机推荐

  1. 枚举enum学习小记

    参考文献: [1]C++程序设计语言(特别版), 裘宗燕译, 机械工业出版社 [2]C++ Primer (3rd Ed.), S.B. Lippman and J. Lajoie, 人民邮电出版社 ...

  2. SpringMvc解决Restful中文乱码问题

    中文乱码问题解决方式: <!-- 解决中文乱码问题 --> <filter> <filter-name>CharacterEncodingFilter</fi ...

  3. Yii2中把路由地址中的%2F改为/

    第一步:找到/vendor/yiisoft/yii2/web/UrlManager.php 第二步:搜索$url = "$baseUrl?{$this->routeParam}=&qu ...

  4. 老男孩Python全栈开发(92天全)视频教程 自学笔记15

    day15课程内容: 高阶函数 1.函数名可以进行赋值 2.函数名可以作为参数,也可以作为函数的返回值 def f(): print("高阶函数")def bar(a,b,c): ...

  5. the c programing language 学习过程4

    4Functions and Program Structure scratch 刮擦 starting over from scratch从头开始 reside驻留 separately 分别的 f ...

  6. UVA1374 IDA*

    我刚开始的思路就是:用启发函数max * pow(2 , maxd - d) < n直接去判断,两个for循环往数组延伸,找到n为止,可是速度太慢.刘汝佳大哥说的直接使用新延伸出来的数,这样确实 ...

  7. Mybatis入门1

    关于Mybatis的快速入门可以分为这样几步: 1.引入依赖或者引入jar包 2.编写全局配置文件(Mybatis-config.xml) <?xml version="1.0&quo ...

  8. 单例模式,堆,BST,AVL树,红黑树

    单例模式 第一种(懒汉,线程不安全): public class Singleton { private static Singleton instance; private Singleton () ...

  9. 修改Cosbench源码 支持s3的 http range request 测试场景

    在视频点播的业务应用场景中,用户使用了ffmpeg工具做视频实时转码用. 而ffmpeg使用range 请求.而Cosbench不支持这种测试场景,所以需要修改源码支持这种测试场景. HTTP 协议介 ...

  10. Python模拟登录成功与失败处理方式(不涉及前端)

    任务说明: (1) 用户输入用户名,如不存在此用户不能登录: (2) 用户在输入密码时,如果连续输入三次错误,则该用户被锁定一段时间; (3) 用户被锁定一段时间后,可再次进行尝试登录: 程序使用库: ...