大数据工具集--DataX

java 解决的是高并发问题,大数据解决的是海量数据存储与分析问题。大数据的各种工具集可以方便我们对海量数据进行存储与分析。

1.了解

可以理解为国内版的Sqoop。 但是比Sqoop要快,Sqoop底层是MR(Map任务),基于磁盘的,DataX基于内存的,所以速度比较快。 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。 DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 关系型数据库的数据都是结构化的,排列非常整齐 非关系型数据库都是非结构化的,非常的错乱。(异构)

2、下载地址

此前已经开源DataX1.0版本,此次介绍为阿里云开源全新版本DataX3.0,有了更多更强大的功能和更好的使用体验。Github主页地址:https://github.com/alibaba/DataX

DataX是阿里云DataWorks数据集成的开源版本。 以下这个是商业版的datax -->Data Integration 阿里云数据集成

3、DataX3.0 框架设计

类似于之前的Flume:

source --> ReadPlugin

channel --> Channel

sink --> WritePlugin

4、支持的数据源有哪些(几乎所有) 

5、核心架构

一个Job要想执行,可能会拆分成多个Task任务,这些任务又会分为很多个组,每一个组里面,又根据channel的数量,进行汇总,并行执行,默认一个TaskGroup 有 5个channel 计算题: 假如一个Job,被拆分为100个任务,20 个组,每个组里面并行执行5个任务。 job 100个任务 TaskGroup 假如需要20个并发量 每一个TaskGroup 默认是5个任务

用户提交了一个DataX作业,并且配置了20个并发,目的是将一个100张分表的mysql数据同步到HDFS里面。 DataX的调度决策思路是: 1. DataXJob根据分库分表切分成了100个Task。 2. 根据20个并发,DataX计算共需要分配4个TaskGroup。 3. 4个TaskGroup平分切分好的100个Task,每一个TaskGroup负责以5个并发共计运行25个Task 

datax中的数据导入导出,是并行执行的,并且是基于内存的,所以比较快! 

6、安装

1、上传  /opt/modules
2、解压   tar -zxvf datax.tar.gz  -C /opt/installs
3、修改/etc/profile
   配置环境变量:
   export DATAX_HOME=/opt/installs/datax
   export PATH=$PATH:$DATAX_HOME/bin
   
   source /etc/profile

7、测试一下

Play一下自带的案例:

编辑这个案例:job.json文件

运行一下:

datax.py job.json

假如你运行报错如下:

报错: 配置信息错误,您提供的配置文件[/opt/installs/datax/plugin/reader/._drdsreader/plugin.json]不存在. 请检查您的配置文件

解决方案如下:

rm -rf /opt/installs/datax/plugin/*/._*

  • 23
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值