目录
1、DataX简介
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
关于简介此处不做太多介绍,详情可以去官网查看。
官方链接:dataX官方git
2 、下载安装
2.1 下载
先在此官方路径下载好datax下载路径
2.2 传输
使用xshell的sftp文件传输将文件传输到服务器
2.3 测试
python /usr/local/datax/bin/datax.py .../path/ods_zhidao_hive_dbs_df.json
经过测试能正常运行,那么此时我们就要开始配置json了
3、配置json (以mysql同步至hdfs为列)
我们需要按照dataX官方给的模板来配置好josn参数,之后才能正常执行调度任务。
json样例:
{
"job": {
"setting": {
"speed": {
"channel": 1
}
},
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"username": "",
"password": "",
"connection": [
{
"querySql": [
"select * from page_view where 1=1"
],
"jdbcUrl": [
"jdbc:mysql://xxx.xx.xx.xx:3306/mydatabase"
]
}
]
}
},
"writer": {
"name": "hdfswriter",
"parameter": {
"defaultFS": "hdfs://cube",
"fileType": "orc",
"path": "/user/hive/warehouse/writerorc.db/orcfull",
"fileName": "xxxx",
"column": [
{
"name": "col1",
"type": "TINYINT"
}
],
"writeMode": "append",
"fieldDelimiter": "\t",
"compress": "NONE"
}
}
}
]
}
}
3.1 配置数据库相关json信息
3.2 配置表结构及抽取逻辑相关json信息
3.3 对准备好的参数进行json填充
3.4 测试json能否正常执行
python /usr/local/datax/bin/datax.py .../ods_zhidao_hive_dbs_df.json
经过测试,同步正常。
接下来我们还需要对写入成功的数据做标记(便于下游任务开始调度执行) 、告警邮件配置、定时调度配置。