DataX介绍

一、介绍

DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
github地址
详细文档
操作手册

支持数据框架如下:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

架构
在这里插入图片描述
Reader:为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
Writer:为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
Framework:用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

二、使用

  1. 下载

下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz

  1. 解压缩
# 解压缩
tar -zxvf datax.tar.gz -C /opt/module/
  1. 编写数据同步任务
{
   
   
  "job": {
   
   
    "content": [
      {
   
   
        "reader": {
   
   
          "name": "streamreader",
          "parameter": {
   
   
            "sliceRecordCount": 10,
            "column": [
              {
   
   
                "type": "long",
                "value": "10"
              },
              {
   
   
                "type": "string",
                "value": "hello,datax"
              }
            ]
          }
        },
        "writer": {
   
   
          "name": "streamwriter",
          "parameter": {
   
   
            "encoding": "UTF-8",
            "print": true
          }
        }
      }
    ],
    "setting": {
   
   
      "speed": {
   
   
        "channel": 5
       }
    }
  }
}

  1. 启动任务
python /opt/module/datax/bin/datax.py /opt/module/datax/job/stream_to_stream.json
  1. 执行结果

在这里插入图片描述

  1. 配置说明
参数 说明
job.setting 设置全局配置参数
job.setting.speed 控制任务速度配置参数,包括:channel(通道(并发))、record(字节流)、byte(记录流)等三种模式
job.setting.speed.channel 并发数
job.setting.speed.record 字节流
job.setting.speed.byte 记录流
job.setting.errorLimit 设置错误限制
job.setting.errorLimit.record 指定允许的最大错误记录数
job.setting.errorLimit.percentage 指定允许的最大错误记录百分比
job.setting.dirtyDataPath 设置错误限制
job.setting.dirtyDataPath.path 设置错误限制
job.setting.log 设置错误限制
job.setting.log.level 设置错误限制
job.setting.log.dir 设置错误限制
content 任务配置参数
reader Reader配置
name Reader类型
parameter Reader具体配置(具体配置查看具体Reader)
writer Writer配置
name Writer类型
parameter Writer具体配置(具体配置查看具体Writer)

三、常用配置

3.1、MysqlReader

{
   
   
    "job": {
   
   
        "setting": {
   
   
            "speed": {
   
   
                 "channel": 3
            },
            "errorLimit": {
   
   
                "record": 0,
                "percentage": 0.02
            }
        },
        "content": [
            {
   
   
                "reader": {
   
   
                    "name": "mysqlreader",
                    "parameter": {
   
   
                        "username": "root",
                        "password": "root",
                        "column": [
                            "id",
                            "name"
                        ],
                        "splitPk": "db_id",
                        "connection": [
                            {
   
   
                                "table": [
                                    "table"
                        
DataX是阿里巴巴集团开源的一款大数据同步工具,用于数据传输和数据交换。它支持超过20种不同类型的数据源和数据目标的连接,包括但不限于关系型数据库、HDFS、Hive、HBase等。 DataX通过配置任务的方式实现数据传输和同步。用户可以通过一个JSON格式的配置文件来定义任务的源数据源和目标数据源,配置数据源的连接信息、字段映射和数据过滤等。配置完成后,任务可以通过命令行或调度系统来执行。 DataX具有以下几个主要功能: 1. 强大的数据源支持:DataX支持多种数据源的连接,包括MySQL、Oracle、SQL Server等主流关系型数据库,以及HDFS、Hive、HBase等大数据组件。用户可以根据需要选择合适的数据源进行同步。 2. 灵活的数据转换能力:DataX提供丰富的数据转换函数,可以对数据进行各种操作,如字段映射、数据过滤、数据转换等。用户可以根据需要编写自定义的转换函数,实现复杂的数据处理逻辑。 3. 高效的数据传输性能:DataX采用多线程并行传输的方式,可以同时处理多个任务,并且在任务执行过程中可以动态增加或减少并发线程,以适应不同的数据传输场景。 4. 可扩展的插件机制:DataX提供了灵活的插件机制,用户可以根据需要开发自定义插件来支持更多的数据源和数据目标。同时,DataX还支持第三方插件,可以方便地进行扩展和集成。 总之,DataX是一个功能强大,易于使用的大数据同步工具,通过配置任务实现数据源和目标的连接和传输,可以满足各种复杂的数据同步需求。它的开源特性和丰富的插件机制,也使得它具备了良好的可扩展性和灵活性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值