datax的使用

2018/08/07

介绍

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
  • 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

目录