- 01 引言
- 02 IDEA下运行DataX
- 2.1 步骤1:clone源码
- 2.2 步骤2:编译源码
- 2.3 步骤3:配置编译后的包
- 2.4 步骤4:复制用到的插件
- 2.5 步骤5:配置运行环境
- 2.6 步骤6:启动项目
- 03 文末
关于DataX,在前面的博文《DataX教程(01)- 入门》已经介绍过,因为官方没有IDEA运行的示例文档,网上的资料参差不齐,所以本文主要讲解如何在IDEA的环境下跑起DataX,一次填完所有的坑。
我使用的环境是(没必要安装python):
jdk1.8macos操作系统(这个不重要,windows系统一样的操作)
在IDEA下运行DataX,我们必须先知道流程,下面我画了一张流程图:
下面按步骤操作讲解。
2.1 步骤1:clone源码DataX的源码地址:https://github.com/alibaba/DataX.git
我们使用IDEA导入,“File - > New -> Project from Version Control...”: 输入源代码地址:
根据提示打开,等待依赖完成,直至导入完成,如果这里导入太慢,可以在
maven里的settings.xml配置阿里云的镜像地址,如下:
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
注意:如果项目提示某个包没有,可以不用管它,直接跳到下一步,因为这个包不一定是我们需要的。
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运行,等待编译。
编译完成后,我们可以看到项目目录即/core下生成了一个target文件夹,这个编译后的包里,我们需要的只有下面红框datax里面的内容。 为了方便理解,我把它编译后的
datax文件夹复制到我的桌面(地址:/Users/用户名/Desktop/datax):
我们可以看到datax编译后的包里面的目录结构如下: 我们需要配置的是
conf文件夹里面的core.json文件里面的core.transport.speed.byte,只要不为-1就可以了,值可以任意写,如下图(如果这里不改,后续跑程序的时候会报错),我把byte设置为2000000了,表示单个channel的大小改为2MB:
到这里编译后的包配置完成了,我们看下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目录。 再回到我们的工程,我们把编译后的
streamreader插件和streamwriter插件复制到我们的plugin目录: 复制后:
注意datax的启动类在src/main/java/com/alibaba/datax/core/Engine.java类里面,我们打开这个类,在启动箭头里右键“Create "Engine.main()”,点击来配置运行环境: 点击打开后,配置界面如下:
只需要配置以上三项即可:
直接右键Debug,如下图: 可以看到没有报错,运行正常:
下面详细把日志复制下来,具体的日志内容这里就不再详述了:
① 系统以及JVM的一些信息:
② job配置打印: ③ 操作结果概览:
本文主要讲解了IDEA运行DataX的完整流程,有疑问的童鞋欢迎留言。
