说明
通过案例,从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 中必须写 columncolumn 列名必须与 reader 中的列名 顺序相同(列名可以不同)column 列名必须指定字段类型
HDFS 创建目录
创建下面目录(否则报错):
/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
查看下面目录:
/test_datax
看到有类似下面文件:
emp.txt__6114cf9d_3fd8_4989_8329_0e1f1db21124
打开该文件,可以看到里面的数据