1、下载源码
2、编译源码快速使用 - Addax Documentation (wgzhao.github.io)
3、idea调试
1、打开工程
2、找到Engine
3、配置运行环境
Vm Option 重要
// 前面步骤打好的包路径
-Daddax.home=C:\Users\Wsong\Desktop\addax-4.0.8
// 这是网络安全配置,一般不需要
-Djava.net.preferIPv4Stack=true
// 这是指定运行的依赖包,如果缺少jar包就在这指定
-classpath C:\Users\Wsong\Desktop\addax-4.0.8\lib\*
Working directory
datax编译后的目录
program arguments job配置
-job C:\Users\Wsong\Desktop\test1.json
运行就可以了
例子:mysql2hive
1、配置addax的打包环境
--Daddax.home=C:\Users\Wsong\Desktop\addax-4.0.8
-classpath C:\Users\Wsong\Desktop\addax-4.0.8\lib\*
2、配置json
-job C:\Users\Wsong\Desktop\test1.json
{
"job":{
"setting":{
"speed":{
"channel":1
}
},
"content":[
{
"reader":{
"name":"mysqlreader",
"parameter":{
"username":"test",
"password":"test",
"column":[
"id",
"name",
"value",
"create_date",
"create_by",
"update_date",
"update_by",
"delete_flag",
"versions",
"' '"
],
"connection":[
{
"table":[
"demo"
],
"jdbcUrl":[
"jdbc:mysql://dream1:3306/testdb"
]
}
],
"where":""
}
},
"writer":{
"name":"hdfswriter",
"parameter":{
"defaultFS":"hdfs://dream1:9000",
"fileType":"text",
"path":"/user/hive/warehouse/test.db/src_test_ws/part_id=1",
"fileName":"test",
"column":[
{
"name":"id",
"type":"INT"
},
{
"name":"name",
"type":"STRING"
},
{
"name":"value",
"type":"STRING"
},
{
"name":"create_date",
"type":"DATE"
},
{
"name":"create_by",
"type":"BIGINT"
},
{
"name":"update_date",
"type":"DATE"
},
{
"name":"update_by",
"type":"BIGINT"
},
{
"name":"delete_flag",
"type":"STRING"
},
{
"name":"versions",
"type":"INT"
},
{
"name":"part_id",
"type":"STRING"
}
],
"partition":"aaa",
"writeMode":"append",
"fieldDelimiter":","
}
}
}
]
}
}
6、源码修改后的升级操作
代码位置:plugins/reader/mysqlreader
如果没有target就packager一下
然后将选中的这个mysqlreader文件夹,放到datax编译好的目录下(第一步生成的),然后替换原文件夹
注意:如果修改完idea内的代码后需要打包升级到datax编译好的目录内再调试。修改idea的源码是没用的,idea调试只是翻译打好的包内的运行情况 因为你修改的是组件而不是addax本身
远程调试
如果datax部署在linux服务上,可以通过运行命令添加参数开始远程调试
命令如下
datax.sh test.json -d
参数"-d" 是开启远程调试的参数
在本地idea新建一个远程调试
先在服务器上运行命令,然后再本地启动远程调试