1、下载压缩包
下载页面地址:
https://github.com/alibaba/DataX
不要在【Clone or download】处下载,那里下载的是源码;对于Java不是很在行的人来说,自行编译显得有点困难。
而是在:
【Quick Start】--->【Download DataX下载地址】进行下载。下载后的包名:datax.tar.gz。解压后{datax}目录下有{bin conf job lib log log_perf plugin script tmp}几个目录。
2、安装
将下载后的压缩包直接解压后可用,前提是对应的java及python环境满足要求。
System Requirements:
Linux
JDK(1.6以上,推荐1.6)
Python(推荐Python2.6.X)
Apache Maven 3.x (Compile DataX)
3、参考文档
具体安装部署及使用文档可以参考【
Quick Start】部分。
json文档配置可以参考[Support Data Channels]里各接口读写配置说明。
其他的一些说明也可以在此文档中能够找到。
4、运行作业
$ cd {YOUR_DATAX_HOME}/bin
$ python datax.py {YOUR_JOB.json}
5、小示例(将mysql数据导入到hdfs)
5.1、hive上建目标表
drop table if exists xxx_yt0329;
CREATE TABLE xxx_yt0329 (
`date` varchar(10),
`room_id` int,
`fanself_pay_amount` bigint
)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'field.delim'='\t',
'line.delim'='\n',
'serialization.format'='\t');
5.2、json配置文件
[hadoop@emr-worker-10 xdataConf]$ cat datax1.json
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": [
"*"
],
"connection": [
{
"jdbcUrl": [
"jdbc:mysql://MysqlHost:6605/jellyfish_hadoop_stat"
],
"table": [
"xxx_yt0329"
]
}
],
"password": "MysqlPass",
"username": "MysqlUser"
}
},
"writer": {
"name": "hdfswriter",
"parameter": {
"column": [
{
"name": "date",
"type": "VARCHAR"
},
{
"name": "room_id",
"type": "INT"
},
{
"name": "fanself_pay_amount",
"type": "INT"
}
],
"compress": "gzip",
"defaultFS": "hdfs://10.25.253.240",
"fieldDelimiter": "\t",
"fileName": "xxx_yt0329",
"fileType": "text",
"path": "/user/hive/warehouse/ods.db/xxx_yt0329",
"writeMode": "append"
}
}
}
],
"setting": {
"speed": {
"channel": "2"
}
}
}
}
5.3、执行任务
python /home/hadoop/nisj/datax/bin/datax.py /home/hadoop/nisj/xdataConf/datax1.json
2018-04-16 19:32:35.317 [job-0] INFO StandAloneJobContainerCommunicator - Total 269189 records, 4883559 bytes | Speed 476.91KB/s, 26918 records/s | Error 0 records, 0 bytes | All Task WaitWriterTime 0.910s | All Task WaitReaderTime 0.303s | Percentage 100.00%
2018-04-16 19:32:35.318 [job-0] INFO JobContainer -
任务启动时刻 : 2018-04-16 19:32:22
任务结束时刻 : 2018-04-16 19:32:35
任务总计耗时 : 12s
任务平均流量 : 476.91KB/s
记录写入速度 : 26918rec/s
读出记录总数 : 269189
读写失败总数 : 0