DataX教程(02)-IDEA运⾏DataX完整流程(填完所有的坑)
⽂章⽬录
01 引⾔
关于DataX,在前⾯的博⽂已经介绍过,因为官⽅没有IDEA运⾏的⽰例⽂档,⽹上的资料参差不齐,所以本⽂主要讲解如何在IDEA的环境下跑起DataX,⼀次填完所有的坑。
我使⽤的环境是(没必要安装python):
jdk1.8
macos操作系统(这个不重要,windows系统⼀样的操作)
02 IDEA下运⾏DataX
在IDEA下运⾏DataX,我们必须先知道流程,下⾯我画了⼀张流程图:
下⾯按步骤操作讲解。
2.1 步骤1:clone源码
我们使⽤IDEA导⼊,“File - > New -> Project from ”:
输⼊源代码地址:
根据提⽰打开,等待依赖完成,直⾄导⼊完成,如果这⾥导⼊太慢,可以在maven⾥的l配置阿⾥云的镜像地址,如下:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>maven.aliyun/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
注意:如果项⽬提⽰某个包没有,可以不⽤管它,直接跳到下⼀步,因为这个包不⼀定是我们需要的。
2.2 步骤2:编译源码
想了解maven的assembly⾃定义打包的内容可以参考我的博客
注意DataX使⽤的是assembly⾃定义结构打包,所以可以使⽤命令打包,在项⽬根节点下,控制台运⾏maven脚本:
mvn clean package -DskipTests assembly:assembly
或者直接使⽤IDEA的按着control键选择clean(清理)和package(打包),然后Run Maven Build运
⾏,等待编译。
编译完成后,我们可以看到项⽬⽬录即/core下⽣成了⼀个target⽂件夹,这个编译后的包⾥,我们需要的只有下⾯红框datax⾥⾯的内容。
为了⽅便理解,我把它编译后的datax⽂件夹复制到我的桌⾯(地址:/Users/⽤户名/Desktop/datax):
2.3 步骤3:配置编译后的包
我们可以看到datax编译后的包⾥⾯的⽬录结构如下:
我们需要配置的是conf⽂件夹⾥⾯的core.json⽂件⾥⾯的ansport.speed.byte,只要不为-1就可以了,值可以任意写,如下图(如果这⾥不改,后续跑程序的时候会报错),我把byte设置为2000000了,表⽰单个channel的⼤⼩改为2MB:
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"
idea debug
},
{
"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"
}
}
}
]
}
}