第二章 DataX专题之基础概述

1、DataX概述

(1)星型数据链路

  • DataX为传输通道
github地址:https://github.com/alibaba/DataX

在这里插入图片描述

(2)框架设计

在这里插入图片描述

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

(3)运行原理

在这里插入图片描述

  • Job:单个作业的管理节点,负责数据清理、子任务划分、TaskGroup监控管理。
  • Task:由Job切分而来,是DataX作业的最小单元,每个Task负责一部分数据的同步工作。
  • Schedule:将Task组成TaskGroup,单个TaskGroup的并发数量为5。
  • TaskGroup:负责启动Task。

范例:用户提交了一个 DataX 作业,并且配置了 20 个并发,目的是将一个 100 张 分表的 mysql 数据同步到 odps 里面。 DataX 的调度决策思路是:

1)DataXJob 根据分库分表切分成了100个Task。
2)根据 20 个并发,DataX计算共需要分配4个 TaskGroup。
3)4 个 TaskGroup 平分切分好的100个Task,每一个 TaskGroup 负责以5个并发共计运
行 25个Task。

2、DataX安装

(1)前置要求

  • linux
  • JDK1.8
  • Python(2.6,2.7版本)

(2)解压到到/opt/module

 tar -zxvf datax.tar.gz -C /opt/module/

在这里插入图片描述

(3)运行自检脚本

cd /opt/module/datax/bin

python datax.py /opt/module/datax/job/job.json

在这里插入图片描述

3、DataX&Sqoop对比

功能DataXSqoop
运行模式单进程多线程(java单机版)MR(分布式计算作业)
Mysql读写单机压力大,读写粒度易控制MR模式重,写出错处理麻烦
Hive读写单机压力大(最大缺陷)比较好
文件格式orc支持orc不支持,可通过hcatalog添加
分布式不支持,可通过调度系统规避(装多个节点,互不干扰,通过调度系统实现负载均衡)支持
流控有流控功能需要定制
统计信息有一些统计,上报需要定制没有,分布式收集数据不方便
数据校验在core部分有校验功能没有,分布式收集数据不方便
监控需要定制需要定制
社区封版,改无可改
  • 根据业务场景选型

(1)DataX:涉及到多样的数据源互相导入导出,使用DataX

(2)Sqoop:数据源比较少,目的地都在hdfs上

4、DataX参数说明

4.1、mysqlreader参数解读

(1)name:reader名称

(2)column:需要同步的列名集合,使用JSON数组描述自带信息

(3)jdbsUrl:对数据库的JDBC连接信息,使用JSON数组描述,支持多个链接地址

(4)table:需要同步的表,支持多个

(5)querySql自定义SQL,配置它后,mysqlreader直接忽略table、column、where

(6)username:数据库用户名;

(7)passward:数据库用户名对应密码

(8)where:筛选条件

(9)splitPK:数据分片字段,一般是主键,仅仅支持整形(一般使用代理主键)

4.2、hdfswriter

(1)name:writer名字

(2)column:写入数据的字段,其中name指定字段名,type指定类型

(3)compress:hdfs文件压缩类型,默认不填写意味着没有压缩

(4)defaultFS:hdfs文件类型namenode节点地址,格式hdfs://ip:端口

(5)fieldDelimiter:字段分隔符

(6)filename:写入文件名

(7)fileType:文件类型,目前只支持用用户配置“text”或“orc”

(8)path:存储到Hadoop hdfs文件系统的路径信息

(9)write:hdfswriter写入前数据清理处理模式

  • append:追加,写入前不做任何处理,DataX hdfswriter直接使用filename写入,并保证文件名不冲突
  • nonConflit:目录下有filename前缀的文件,直接报错
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

随缘清风殇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值