官网:https://github.com/alibaba/DataX
一、DataX概述
日志数据:用户每天浏览的数据信息,一般都是用log进行保存,使用Flume进行采集
业务数据:用户比较关键的信息,也就是重要的信息,例如,用户购买的商品,支付的金钱,用户注册的各种信息,这样的数据都会保存到业务数据库(MySQL)
DataX就是可以将业务数据库的数据同步到数据仓库中(Hive)
二、框架设计
- DataX完成单个数据同步的作业,我们称之为Job,DataX接受到一个Job之后,将启动一个进程来完成整个作业同步过程。DataX Job模块是单个作业的中枢管理节点,承担了数据清理、子任务切分(将单一作业计算转化为多个子Task)、TaskGroup管理等功能。
- DataXJob启动后,会根据不同的源端切分策略,将Job切分成多个小的Task(子任务),以便于并发执行。Task便是DataX作业的最小单元,每一个Task都会负责一部分数据的同步工作。
- 切分多个Task之后,DataX Job会调用Scheduler模块,根据配置的并发数据量,将拆分成的Task重新组合,组装成TaskGroup(任务组)。每一个TaskGroup负责以一定的并发运行完毕分配好的所有Task,默认单个任务组的并发数量为5。
- 每一个Task都由T