一、系统依赖
- Linux
- JDK(1.8以上,推荐1.8)
- Python(推荐Python2.6.X)
- Apache Maven 3.x (Compile DataX)
二、安装
1、下载
官网下载地址https://github.com/alibaba/DataX
下载DataX源码,自己编译:DataX源码
官网发布的Datax工具包,版本不是最新的,存在一些问题(比如mongo数据读取存在字段错位等问题),采用编译最新源码的方式。
2、编译
在idea编译前,datax-all/pom.xml文件注释掉不常用、编译报错的模块。
3、打包
mvn -U clean package assembly:assembly -Dmaven.test.skip=true
打包成功后的DataX包位于 {DataX_source_code_home}/target/datax/datax/
4、安装
datax.tar.gz包上传到服务器,并进行解压缩操作,就可以用了。
tar -zxvf datax.tar.gz -C /opt/moudle/
三、使用
根据需求,参照下面各数据源的Reader、Writer模块,编写test.json文件。
linux执行命令:python /opt/moudle/datax/bin/datax.py test.json
类型 | 数据源 | Reader(读) | Writer(写) | 文档 |
---|---|---|---|---|
NoSQL数据存储 | OTS | √ | √ | 读 、写 |
RDBMS 关系型数据库 | MySQL | √ | √ | 读 、写 |
无结构化数据存储 | TxtFile | √ | √ | 读 、写 |
时间序列数据库 | OpenTSDB | √ | 读 | |
阿里云数仓数据存储 | ODPS | √ | √ | 读 、写 |
Oracle | √ | √ | 读 、写 | |
SQLServer | √ | √ | 读 、写 | |
PostgreSQL | √ | √ | 读 、写 | |
DRDS | √ | √ | 读 、写 | |
通用RDBMS(支持所有关系型数据库) | √ | √ | 读 、写 | |
ADS | √ | 写 | ||
OSS | √ | √ | 读 、写 | |
OCS | √ | √ | 读 、写 | |
Hbase0.94 | √ | √ | 读 、写 | |
Hbase1.1 | √ | √ | 读 、写 | |
Phoenix4.x | √ | √ | 读 、写 | |
Phoenix5.x | √ | √ | 读 、写 | |
MongoDB | √ | √ | 读 、写 | |
Hive | √ | √ | 读 、写 | |
Cassandra | √ | √ | 读 、写 | |
FTP | √ | √ | 读 、写 | |
HDFS | √ | √ | 读 、写 | |
Elasticsearch | √ | 写 | ||
TSDB | √ | √ | 读 、写 |
样例1:mongo导入到hdfs
在执行之前,要做好hdfs目录的创建、清除数据等准备工作
a.hadoop集群单namenode模式:security_enterprise_n2_busequitydetailsdto.json
b.hadoop集群HA模式:security_enterprise_n2_busequitydetailsdto_ha.json
重点关注.hadoop集群HA模式的hadoopconfig配置