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

本文详细介绍如何在IDEA环境中成功运行DataX,包括源码克隆、编译、配置等关键步骤,并解决常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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/dataxdatax编译后存放的地址
Program arguments-mode standalone -jobid -1 -job /Users/yanglinwei/Desktop/datax/job/job.json运行需要的参数
JRE1.8官方建议使用jdk1.8

2.6 步骤6:启动项目

直接右键Debug,如下图:
在这里插入图片描述
可以看到没有报错,运行正常:
在这里插入图片描述
下面详细把日志复制下来,具体的日志内容这里就不再详述了:

① 系统以及JVM的一些信息:
在这里插入图片描述

② job配置打印:
在这里插入图片描述
③ 操作结果概览:
在这里插入图片描述

03 文末

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

datax-web-2.1.2是一个版本为2.1.2的DataX Web工具。要安装datax-web-2.1.2,您可以按照以下步骤进行操作: 1. 下载datax-web-2.1.2.tar.gz压缩包,并将其放置在服务器上。 2. 解压缩datax-web-2.1.2.tar.gz文件,可以使用命令:tar -zxvf datax-web-2.1.2.tar.gz。 3. 进入解压后的目录,并执行安装脚本。如果您想使用交互模式安装,可以运行./bin/install.sh命令,并按照提示写MySQL信息。如果您不想使用交互模式,可以运行./bin/install.sh --force命令跳过确认过程。 4. 修改控制器datax-admin的配置文件,即./datax-web-2.1.2/modules/datax-admin/conf/application.yml文件。 5. 修改执行器datax-executor的配置文件,即./datax-web-2.1.2/modules/datax-executor/conf/application.yml文件。 6. 如果您的数据库还没有创建和授权,您可以按照以下步骤进行操作: - 使用MySQL 8.0及以上版本创建数据库:create database `datax-web` character set utf8mb4; - 创建用户并授权:CREATE USER 'datax'@'%' IDENTIFIED BY '111111'; grant all privileges on *.* to datax@'%' with grant option; - 修改用户密码:ALTER USER 'datax'@'%' IDENTIFIED WITH mysql_native_password BY '111111'; 7. 启动datax-web,进入./datax-web-2.1.2/bin目录,并执行./start-all.sh命令,即可同时启动控制器和执行器。如果您想单独启动,可以使用命令./start.sh -m datax-admin或./start.sh -m datax-executor。 请注意,以上步骤仅适用于datax-web-2.1.2版本。如果您使用的是其他版本,请参考相应的安装文档。 #### 引用[.reference_title] - *1* *2* *3* [dataxdatax-web安装部署](https://blog.youkuaiyun.com/m0_71142057/article/details/124898812)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值