• 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没写错的话应该就没什么问题了
    可以接着往下开发了。
  • 相关阅读:
    手工给alv添加合计
    双重loop循环时第二个loop用where…
    屏幕的双击事件(如在table c…
    根据CR获取CR下的开发对象
    不在se11建结构smartforms传值方法
    关于SMARTFORM的页数问题
    获取最大权限
    关于oracle的varchar2的比较大小的规律
    oracle中查询、禁用、启用、删除表外键
    关于oracle with as用法(比较简单的介绍)
  • 原文地址:https://www.cnblogs.com/blogsofmy/p/8287637.html
Copyright © 2020-2023  润新知