介绍
DataX 是阿⾥里里巴巴集团内被⼴广泛使⽤用的离线数据同步⼯工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间⾼高效的数据同步功能。
系统需求
- Linux
- JDK(1.6以上,推荐1.6)
- Python(推荐Python2.6.X)
- Apache Maven 3.x (Compile DataX)
工具部署
- 方法一 直接下载DataX工具包
wget https://pek3a.qingstor.com/hashdata-public/tools/clients/datax-20170621.tar.gz tar xf datax-*.tar.gz cd {YOUR_DATAX_HOME}/bin python datax.py {YOUR_JOB.json} - 方法二 下载DataX源码
git clone git@github.com:alibaba/DataX.git cd {DataX_source_code_home} mvn -U clean package assembly:assembly -Dmaven.test.skip=true
命令
python datax.py -r {YOURREADER} -w {YOURWRITER} # 查看配置模板
cd {YOUR_DATAX_HOME}/bin
python datax.py -r streamreader -w streamwriter
python datax.py ./stream2stream.json # 启动DataX
支持的数据通道
- Reader
- RDBMS 关系型数据库
- MysqlReader: 使用JDBC批量抽取Mysql数据集。
- OracleReader: 使用JDBC批量抽取Oracle数据集。
- SqlServerReader: 使用JDBC批量抽取SqlServer数据集
- PostgresqlReader: 使用JDBC批量抽取PostgreSQL数据集
- DrdsReader: 针对公有云上DRDS的批量数据抽取工具。
- 数仓数据存储
- ODPSReader: 使用ODPS Tunnel SDK批量抽取ODPS数据。
- NoSQL数据存储
- OTSReader: 针对公有云上OTS的批量数据抽取工具。
- HBaseReader: 针对 HBase 0.94版本的在线数据抽取工具
- 无结构化数据存储
- TxtFileReader: 读取(递归/过滤)本地⽂文件。
- FtpReader: 读取(递归/过滤)远程ftp文件。
- HdfsReader: 针对Hdfs⽂文件系统中textfile和orcfile⽂文件批量量数据抽取⼯工具。
- OssReader: 针对公有云OSS产品的批量量数据抽取⼯工具。
- StreamReader
- RDBMS 关系型数据库
- Writer
- RDBMS 关系型数据库
- MysqlWriter: 使用JDBC(Insert,Replace方式)写入Mysql数据库
- OracleWriter: 使用JDBC(Insert方式)写入Oracle数据库
- PostgresqlWriter: 使用JDBC(Insert方式)写入PostgreSQL数据库
- SqlServerWriter: 使用JDBC(Insert方式)写入sqlserver数据库
- DrdsWriter: 使用JDBC(Replace方式)写入Drds数据库
- 数仓数据存储
- ODPSWriter: 使用ODPS Tunnel SDK向ODPS写入数据。
- ADSWriter: 使用ODPS中转将数据导入ADS。
- HashDataWriter: 使用JDBC(Replace方式)写入Drds数据库
- NoSQL数据存储
- OTSWriter: 使用OTS SDK向OTS Public模型的表中导入数据。
- OCSWriter
- MongoDBReader:MongoDBReader
- MongoDBWriter:MongoDBWriter
- 无结构化数据存储
- TxtFileWriter: 提供写入本地⽂文件功能。
- OssWriter: 使用OSS SDK写入OSS数据。
- HdfsWriter: 提供向Hdfs文件系统中写入textfile文件和orcfile文件功能。
- StreamWriter
- RDBMS 关系型数据库