DATAX 数据同步 My SQL->Hive
•
大数据
DATAX 数据同步 My SQL->Hive
安装
DATAX官方地址:https://github.com/alibaba/DataX
DATAX-WEB官方地址:https://github.com/WeiYe-Jing/datax-web
注:官方已经给了很详细的安装文档。这里不过多解释。
遇到的问题
# 在跑job的时候遇到如下问题
/usr/bin/python: can't find '__main__' module in
# 解决办法
vim {datax-web}/modules/datax-executor/bin/datax-executor.sh
# 找到对应的
JAVA_OPTS=${JAVA_OPTS}" -Dserver.port="${SERVER_PORT}" -Ddata.path="${DATA_PATH}" -Dexecutor.port="${EXECUTOR_PORT}" -Djson.path="${JSON_PATH}" -Dpython.path="${PYTHON_PATH}" -Ddatax.admin.port="${DATAX_ADMIN_PORT}
# 修改如下
JAVA_OPTS=${JAVA_OPTS}" -Dserver.port="${SERVER_PORT}" -Ddata.path="${DATA_PATH}" -Dexecutor.port="${EXECUTOR_PORT}" -Djson.path="${JSON_PATH}" -Dpython.path="{datax}/bin/datax.py" -Ddatax.admin.port="${DATAX_ADMIN_PORT}
# 最后重启datax-web
{datax-web}/bin/stop-all.sh
{datax-web}/bin/start-all.sh
问题二
# DataX报错解决办法 - 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数
# 修改datax/conf/core.json
# 修改core -> transport -> channel -> speed -> "byte": 2000000
"core": {
"dataXServer": {
"address": "http://localhost:7001/api",
"timeout": 10000,
"reportDataxLog": false,
"reportPerfLog": false
},
"transport": {
"channel": {
"class": "com.alibaba.datax.core.transport.channel.memory.MemoryChannel",
"speed": {
"byte": 2000000,
"record": -1
},
"flowControlInterval": 20,
"capacity": 512,
"byteCapacity": 67108864
},
"exchanger": {
"class": "com.alibaba.datax.core.plugin.BufferedRecordExchanger",
"bufferSize": 32
}
},
}
mysqlToHiveDemo
- 先新建一个项目
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CWuYJXIV-1679469085149)(./pic/1.jpg)]](/img/f7/cf71aa959fa54c2ebd053770950f87e5.jpeg)
- 增加数据源
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9gr66ods-1679469085150)(./pic/2.jpg)]](/img/40/264a89288f8447499937946a6905dfb1.jpeg)
- 新构建任务
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R5vEHYGV-1679469085150)(./pic/3.jpg)]](/img/ff/82b052c8fdc5457f97fd5a352cb63db9.jpeg)
- 执行任务
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rDNvq7NU-1679469085151)(./pic/4.jpg)]](/img/fd/1ab527f7ffc24c90b2b7f4fab526c7d8.jpeg)
-
查看日志
图略。
注:这里说明一下分区表如何操作(这里演示静态分区)。
- 静态分区
create table student2(
commentId int,
newsId int,
content String,
userIP string,
commentDate date
)
partitioned by (day string)
row format delimited fields terminated by '\t';
alter table student2 add partition (day=20230322);
执行脚本的时候修改如下
# 相关配置文件 "path": "/user/hive/warehouse/test.db/student2/day=20230322"
结果如下所示
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7e0cuqu-1679469085151)(./pic/5.jpg)]](/img/92/cbde6fef66504f14981a660c6425126f.jpeg)
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/4b0c4e2316.html
