当前位置:   article > 正文

DATAX 数据同步 My SQL->Hive_datax官网

datax官网

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 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

问题二

# 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
            }
        },
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

mysqlToHiveDemo

  • 先新建一个项目

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CWuYJXIV-1679469085149)(./pic/1.jpg)]

  • 增加数据源

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9gr66ods-1679469085150)(./pic/2.jpg)]

  • 新构建任务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R5vEHYGV-1679469085150)(./pic/3.jpg)]

  • 执行任务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rDNvq7NU-1679469085151)(./pic/4.jpg)]

注:这里说明一下分区表如何操作(这里演示静态分区)。

- 静态分区
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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

执行脚本的时候修改如下

# 相关配置文件
"path": "/user/hive/warehouse/test.db/student2/day=20230322"
  • 1
  • 2

结果如下所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U7e0cuqu-1679469085151)(./pic/5.jpg)]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/562820
推荐阅读
相关标签
  

闽ICP备14008679号