数据同步工具:DataX 从MySQL读取数据,保存到HDFS

说明

通过案例,从MySQL读取数据,保存到HDFS

创建 json 配置文件

从 MySQL 读取数据的详细说明,见 链接

向 HDFS 写入数据的详细说明,见 链接

cd /program/datax
vim job/mysql2hdfs.json

内容如下:

{
    "job": {
        "setting": {
            "speed": {
                "channel": 1
            }
        },
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "username": "root",
                        "password": "root",
                        "column": [
                            "empno",
                            "ename"
                        ],
                        "connection": [
                            {
                                "table": [
                                    "emp"
                                ],
                                "jdbcUrl": [
                     "jdbc:mysql://hadoop1:3306/scott"
                                ]
                            }
                        ]
                    }
                },
               "writer": {
                    "name": "hdfswriter",
                    "parameter": {
                        "defaultFS": "hdfs://hadoop1:8020",
                        "fileType": "text",
                        "path": "/test_datax",
                        "fileName": "emp.txt",
                        "writeMode": "append",
                        "fieldDelimiter": "\t",
                        "column": [
                            {
                                "name": "id",
                                "type": "INT"
                            },
                            {
                                "name": "name",
                                "type": "string"
                            }
                        ]
                    }
                }
            }
        ]
    }
}

注意

writer 中必须写 column
column 列名必须与 reader 中的列名 顺序相同(列名可以不同)
column 列名必须指定字段类型

HDFS 创建目录

登录 http://hadoop1:9870/

创建下面目录(否则报错):

/test_datax

执行

cd /program/datax
bin/datax.py job/mysql2hdfs.json

看到下面信息,说明执行成功:

任务启动时刻                    : 2022-06-11 11:38:20
任务结束时刻                    : 2022-06-11 11:38:32
任务总计耗时                    :                 11s
任务平均流量                    :               12B/s
记录写入速度                    :              1rec/s
读出记录总数                    :                  14
读写失败总数                    :                   0

查看 hadoop

登录 http://hadoop1:9870/

查看下面目录:

/test_datax

看到有类似下面文件:

emp.txt__6114cf9d_3fd8_4989_8329_0e1f1db21124

打开该文件,可以看到里面的数据


原文出处:/show_1IX3TccJovlO.html