首页 > 其他分享 >IDEA运行DataX完整流程(填完所有的坑)

IDEA运行DataX完整流程(填完所有的坑)

时间:2023-01-17 10:44:51浏览次数:60  
标签:步骤 IDEA 填完 编译 job datax DataX

IDEA运行DataX完整流程(填完所有的坑)

 原创

阿甘兄_2022-03-25 14:03:45©著作权

文章标签intellij ideadatax大数据mavenide文章分类其它其它阅读数402

 

 

文章目录

 

01 引言

关于​​DataX​​​,在前面的博文​ ​《DataX入门》​​​已经介绍过,因为官方没有IDEA运行的示例文档,网上的资料参差不齐,所以本文主要讲解如何在​​IDEA​​​的环境下跑起​​DataX​​,一次填完所有的坑。

我使用的环境是(没必要安装​​python​​):

  • ​jdk1.8​
  • ​macos​​​操作系统(这个不重要,​​windows​​系统一样的操作)

02 IDEA下运行DataX

在​​IDEA​​下运行​​DataX​​,我们必须先知道流程,下面我画了一张流程图:

IDEA运行DataX完整流程(填完所有的坑)_datax

下面按步骤操作讲解。

2.1 步骤1:clone源码

​DataX​​​的源码地址:​ ​https://github.com/alibaba/DataX.git​

我们使用​​IDEA​​导入,“​​File - > New -> Project from Version Control...​​”:

IDEA运行DataX完整流程(填完所有的坑)_maven_02

输入源代码地址:

IDEA运行DataX完整流程(填完所有的坑)_intellij idea_03

根据提示打开,等待依赖完成,直至导入完成,如果这里导入太慢,可以在​​maven​​里的​​settings.xml​​配置阿里云的镜像地址,如下:

<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>

注意:如果项目提示某个包没有,可以不用管它,直接跳到下一步,因为这个包不一定是我们需要的。

2.2 步骤2:编译源码

 

想了解maven的assembly自定义打包的内容可以参考我的博客​ ​《Maven的三种打包方式(jar、shade、assembly)》​

 

注意​​DataX​​​使用的是​​assembly​​​自定义结构打包,所以可以使用命令打包,在项目根节点下,控制台运行​​maven​​脚本:

mvn clean package -DskipTests assembly:assembly

或者直接使用​​IDEA​​的按着​​control​​键选择​​clean​​(清理)和​​package​​(打包),然后​​Run Maven Build​​运行,等待编译。

IDEA运行DataX完整流程(填完所有的坑)_intellij idea_04

编译完成后,我们可以看到项目目录即​​/core​​下生成了一个​​target​​文件夹,这个编译后的包里,我们需要的只有下面红框​​datax​​里面的内容。

IDEA运行DataX完整流程(填完所有的坑)_datax_05

为了方便理解,我把它编译后的​​datax​​文件夹复制到我的桌面(地址:​​/Users/用户名/Desktop/datax​​):

IDEA运行DataX完整流程(填完所有的坑)_datax_06

2.3 步骤3:配置编译后的包

我们可以看到​​datax​​编译后的包里面的目录结构如下:

IDEA运行DataX完整流程(填完所有的坑)_datax_07

我们需要配置的是​​conf​​文件夹里面的​​core.json​​文件里面的​​core.transport.speed.byte​​,只要不为​​-1​​就可以了,值可以任意写,如下图(如果这里不改,后续跑程序的时候会报错),我把​​byte​​设置为2000000了,表示单个​​channel​​的大小改为​​2MB​​:

IDEA运行DataX完整流程(填完所有的坑)_datax_08

2.4 步骤4:复制用到的插件

到这里编译后的包配置完成了,我们看下​​job​​​文件夹下的​​job.json​​文件里面的内容:

{
"job": {
"setting": {
"speed": {
"byte":10485760
},
"errorLimit": {
"record": 0,
"percentage": 0.02
}
},
"content": [
{
"reader": {
"name": "streamreader",
"parameter": {
"column" : [
{
"value": "DataX",
"type": "string"
},
{
"value": 19890604,
"type": "long"
},
{
"value": "1989-06-04 00:00:00",
"type": "date"
},
{
"value": true,
"type": "bool"
},
{
"value": "test",
"type": "bytes"
}
],
"sliceRecordCount": 100000
}
},
"writer": {
"name": "streamwriter",
"parameter": {
"print": false,
"encoding": "UTF-8"
}
}
}
]
}
}

可以看到这是一个简单的​​job​​示例任务,用到了​​streamreader​​以及​​streamwriter​​插件,所以我们首先在存放在桌面的datax目录下,新建一个​​plugin​​目录。

IDEA运行DataX完整流程(填完所有的坑)_datax_09

再回到我们的工程,我们把编译后的​​streamreader​​插件和​​streamwriter​​插件复制到我们的​​plugin​​目录:

IDEA运行DataX完整流程(填完所有的坑)_maven_10

复制后:

IDEA运行DataX完整流程(填完所有的坑)_datax_11

2.5 步骤5:配置运行环境

注意datax的启动类在​​src/main/java/com/alibaba/datax/core/Engine.java​​类里面,我们打开这个类,在启动箭头里右键“Create "Engine.main()”,点击来配置运行环境:

IDEA运行DataX完整流程(填完所有的坑)_ide_12

点击打开后,配置界面如下:

IDEA运行DataX完整流程(填完所有的坑)_datax_13

只需要配置以上三项即可:

配置项

配置内容

描述

VM options

-Ddatax.home=/Users/用户名/Desktop/datax

datax编译后存放的地址

Program arguments

-mode standalone -jobid -1 -job /Users/yanglinwei/Desktop/datax/job/job.json

运行需要的参数

JRE

1.8

官方建议使用jdk1.8

2.6 步骤6:启动项目

直接右键Debug,如下图:

IDEA运行DataX完整流程(填完所有的坑)_ide_14

可以看到没有报错,运行正常:

IDEA运行DataX完整流程(填完所有的坑)_ide_15

下面详细把日志复制下来,具体的日志内容这里就不再详述了:

① 系统以及JVM的一些信息:

IDEA运行DataX完整流程(填完所有的坑)_intellij idea_16

② job配置打印:

IDEA运行DataX完整流程(填完所有的坑)_大数据_17

③ 操作结果概览:

IDEA运行DataX完整流程(填完所有的坑)_maven_18

03 文末

本文主要讲解了​​IDEA​​​运行​​DataX​​的完整流程,有疑问的童鞋欢迎留言。

标签:步骤,IDEA,填完,编译,job,datax,DataX
From: https://www.cnblogs.com/yaoyangding/p/17057218.html

相关文章

  • idea运行别人的java项目需要注意的地方
    常规java项目的配置1.假设有两层路径,要进入到第二层,才用右键打开第一层第二层2.在ProjectStructure中配置输出文件夹的路径3.修改编译的方式,javac或者eclipse4......
  • IDEA配置Maven
    Maven版本:3.8.3IDEA版本:2021.2IDEA集成Maven插件打开IDEA,进入主界面后点击Customize,然后点击Allsettings在上面的快捷查找框中输入maven,查找与maven相关的设置,然后点......
  • IDEA多模块maven项目子模块无法引用父模块依赖
    IDEA多模块maven项目子模块无法引用父模块依赖​​第一节问题​​​​第二节解决方案​​第一节问题当在IDEA创建一个maven项目后,并在该项目下新建一个moudle后,使得前一......
  • idea的文件右键选择svn 然后选择history ,双击其中一个自己提交的版本,或者其他人的版本
          ......
  • gradle idea sprongboot
    更换为来源https://start.spring.iohttps://start.aliyun.comidea指定版本在gradle->wrapper->gradle-wrapper.properiresdistributionUrl指定版本指定gradl......
  • IDEA2018.1创建Maven工程
    点击ok,下一步如果左侧没有显示包的话FIile>CloseProject>删除.idea文件夹>重新open......
  • IDEA 自动生成serialVersionUID
    1.在没有设置的时候,我们写好了student类,实现了Serializable这个接口,选中类名,右键,显示为下图:  2.我们点击File–>settings(或者ctrl+Alt+s),打开设置面板,直接搜索seria......
  • 大数据生产环境 sqoop datax
    在日常大数据生产环境中,经常会有集群数据集和关系型数据库互相转换的需求,在需求选择的初期解决问题的方法————数据同步工具就应运而生了。此次我们选择两款生产环境常......
  • idea本地调试远程服务器的代码
    1.服务器暴露远程调试端口java-Xdebug-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8089-jardemo-1.0.0-SNAPSHORT.jar2.暴露服务端口http://12......
  • IDEA使用技巧
    使用IDEA发送HTTP请求,调试接口点击contraller方法左边的小图标然后这边可以发送请求,并且还有一些请求模板,请求日志,请求环境变量,例子之类的东西配置文件,本地零时修......