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

简介: DataX教程(02)- IDEA运行DataX完整流程(填完所有的坑)

01 引言

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

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

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

02 IDEA下运行DataX

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

下面按步骤操作讲解。

2.1 步骤1:clone源码

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

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

输入源代码地址:

根据提示打开,等待依赖完成,直至导入完成,如果这里导入太慢,可以在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运行,等待编译。

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

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

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

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

我们需要配置的是conf文件夹里面的core.json文件里面的core.transport.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"
                            },
                            {
                                "value": 日期xxxx,
                                "type": "long"
                            },
                            {
                                "value": "日期xxxx",
                                "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目录:

复制后:

2.5 步骤5:配置运行环境

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

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

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

配置项 配置内容 描述
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,如下图:

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

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

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

② job配置打印:

③ 操作结果概览:

03 文末

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

目录
相关文章
|
2月前
|
Java
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
本文介绍了如何使用IDEA(IntelliJ IDEA)创建一个新的Java项目,并运行一个简单的Java程序输出"Hello Word"。文章详细展示了创建项目的步骤,包括选择JDK版本、设置项目名称和路径、创建包和类,以及编写和运行代码。最后,还展示了如何通过IDEA的运行功能来执行程序并查看输出结果。
134 4
使用IDEA创建项目运行我的第一个JAVA文件输出Helloword
|
1月前
|
IDE Java 程序员
学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程
本文提供了如何使用学生邮箱免费获取并安装JetBrains全家桶(包括IDEA、PyCharm等)的详细教程,涵盖了学生认证、软件下载、安装及常见问题的解决方法。
408 0
学生邮箱白嫖/免费安装JetBrains全家桶(IDEA/pycharm等) —— 保姆级教程
|
3月前
|
Java Maven
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
这篇文章是一份关于Maven的安装和配置指南,包括下载、环境变量设置、配置文件修改、IDEA集成Maven以及解决jar包下载问题的方法。
2022最新版超详细的Maven下载配置教程、IDEA中集成maven(包含图解过程)、以及导入项目时jar包下载不成功的问题解决
|
1月前
|
Java
IDEA的fxml打开Scene Builder后空白! Scene Builder下载依赖后还是空白不显示 无论如何都不显示,网上的教程试过来了遍还是不显示
本文提供了三种方法来解决IDEA中fxml文件在Scene Builder中打开后显示空白的问题:检查JavaFX是否安装、切换IDEA版本、下载Scene Builder插件。
161 1
|
1月前
|
Oracle IDE Java
IDEA安装教程配置java环境(超详细)
IDEA安装教程配置java环境(超详细)
|
3月前
|
Java Maven 容器
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
使用IntelliJ IDEA的Artifacts功能,可以将项目依赖的第三方jar包打包进jar文件中,实现双击jar包即可直接运行。
Maven使用IDEA自带工具打包,同时将lib下的jar包打入,双击jar包可直接运行
|
3月前
|
前端开发 Java Maven
【前端学java】全网最详细的maven安装与IDEA集成教程!
【8月更文挑战第12天】全网最详细的maven安装与IDEA集成教程!
98 2
【前端学java】全网最详细的maven安装与IDEA集成教程!
|
3月前
|
Java PHP 数据安全/隐私保护
Java——IDEA如何运行单个文件
Java——IDEA如何运行单个文件
59 1
Java——IDEA如何运行单个文件
IDEA运行 支付宝案例
该博客文章提供了在IntelliJ IDEA中运行支付宝案例的指南,并分享了项目源码的GitHub地址以及使用说明。
|
3月前
|
SQL 前端开发 Java
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)
这篇文章介绍了如何在IntelliJ IDEA中使用Maven将Spring Boot项目打包成可运行的jar包,并提供了运行jar包的方法。同时,还讨论了如何解决jar包冲突问题,并提供了在IDEA中同时启动Vue前端项目和Spring Boot后端项目的步骤。
在IDEA中使用Maven将SpringBoot项目打成jar包、同时运行打成的jar包(前后端项目分离)

热门文章

最新文章