一、概述

  1.是什么?

  DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。

  开源地址:https://github.com/alibaba/DataX

二、简介

  1.设计架构

  

  数据交换通过DataX进行中转,任何数据源只要和DataX连接上即可以和已实现的任意数据源同步

  2.框架结构

  

  核心组件:

      Reader:数据采集模块,负责从源采集数据

    Writer:数据写入模块,负责写入目标库

    Framework:数据传输通道,负责处理数据缓冲等

    以上只需要重写Reader与Writer插件,即可实现新数据源支持

  支持主流数据源,详见:https://github.com/alibaba/DataX/blob/master/introduction.md

  从一个JOB来理解datax的核心模块组件:

    datax完成单个数据同步的作业,称为Job,job会负责数据清理、任务切分等工作;

    任务启动后,Job会根据不同源的切分策略,切分成多个Task并发执行,Task就是执行作业的最小单元

    切分完成后,根据Scheduler模块,将Task组合成TaskGroup,每个group负责一定的并发和分配Task

三、入门

  1.安装

    参考官方文档

    提取为安装随笔:https://www.cnblogs.com/jiangbei/p/10901201.html

  2.使用

    核心就是编写配置文件(当前版本使用JSON)

    在datax服务器上运行:

python bin/datax.py -r mysqlreader -w hdfswriter

即可获取配置模板

    【配置文件】

      先看一个示例:

 JSON配置文件

    整个配置文件是一个Job配置文件,以Job为起手根元素,Job下面两个子元素配置项:setting和content,

  其中,setting描述任务本身的信息,content描述源(reader)和目的端(writer)的信息:

  

   其中,content下又分为reader和writer两块,分别对应源端和目的端:

  

 各reader与writer插件的文档直接点击对应的文件夹进入doc即可!

    

    3.示例

      编写一个Mysql到本地打印的Job:

      根据Mysqlreader插件编写配置文件:

{"job": {"setting": {"speed": {"channel": 3},"errorLimit": {"record": 0,"percentage": 0.02}},"content": [{"reader": {"name": "mysqlreader","parameter": {"username": "root","password": "root","column": ["id","age","name"],"connection": [{"table": ["girl"],"jdbcUrl": ["jdbc:mysql://192.168.19.129:3306/mysql"]}]}},"writer": {"name": "streamwriter","parameter": {"print":true}}}]}
}

    根据自检脚本(文件颜色浅绿色),可以知道需要是可执行文件,添加权限:

chmod +x mysqltest.json

    使用运行命令,运行即可:(进入bin目录运行命令如下)

python datax.py ../job/mysqltest.json

    有时是希望灵活一点的自定义的配置,则可参考如下json配置:

 View Code

四、拓展

  1.调度

    任务很少,情景简单的情况下,使用Linux自带的corntab即可,当然,正常的时候推荐使用调度平台

    这里推荐airflow(其他相关的azkaban、oozie等调度不展开)

阿里开源ETL工具——dataX简单上手相关推荐

  1. 阿里出品的ETL工具dataX初体验

    我的毕设选择了大数据方向的题目.大数据的第一步就是要拿到足够的数据源.现实情况中我们需要的数据源分布在不同的业务系统中,而这些系统往往是异构的,而且我们的分析过程不能影响原有业务系统的运行.为了把不同 ...

  2. java etl工具_一文带你入门ETL工具-datax的简单使用

    什么是ETL? ETL负责将分布的.异构数据源中的数据如关系数据.平面数据文件等抽取到临时中间层后进行清洗.转换.集成,最后加载到数据仓库或数据集市中,成为联机分析处理.数据挖掘的基础. ETL是数据 ...

  3. 开源ETL工具kettle系列

    开源ETL工具kettle系列之常见问题 摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. J ...

  4. 开源ETL工具kettle系列之常见问题

    摘要:本文主要介绍使用kettle设计一些ETL任务时一些常见问题,这些问题大部分都不在官方FAQ上,你可以在kettle的论坛上找到一些问题的答案 1. Join 我得到A 数据流(不管是基于文件或 ...

  5. 免费开源ETL工具KETTLE

    1.ETL概念 ETL:Extract-Transform-Load的缩写,即数据抽取.转换.装载的过程.ETL一词较常用在数据仓库,但其对象并不限于数据仓库. ETL是构建数据仓库的重要一环,用户从 ...

  6. 可视化开源ETL工具——kettle

    1 简介 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定. Kettle 中文名称叫水壶,该项目的主程序员MAT ...

  7. Kafka【付诸实践 03】Offset Explorer Kafka 的终极 UI 工具安装+简单上手+关键特性测试(一篇学会使用 Offset Explorer)

    1.The Ultimate UI Tool for Kafka 官方自称 Offset Explorer 是 Kafka 的终极 UI 工具

  8. 【工具】Datax的基本概念(初识ETL工具)

    汝之观览,吾之幸也!本文主要讲解Datax工具的概念,架构,以及部署使用说明 一.基础引导 1.什么是ETL ETL全称为Extract Transform Load,是一种数据仓库技术,其中三个英文 ...

  9. ETL工具框架开源软件

    http://www.oschina.net/project/tag/453/etl 开源ETL工具 Kettle Talend KETL CloverETL Apatar Scriptella ET ...

最新文章

  1. xml信息管理系统_WPF信息管理系统项目实战教程二:使用XAML实现页面布局
  2. leetcode算法题--字符串相乘
  3. 【非广告,纯干货】这大概是我看过最有温度的面经分享(已收割京东美团技术专家offer)
  4. Android踩坑日记:监听软键盘多次调用和刷新系统相册和获取所有相片
  5. 【趣说】IT人的职场艰难,全藏在气氛组里!
  6. PMCAFF微分享 | 供应链金融套利套汇介绍
  7. linux 命令 cd -p,Linux_实例讲解Linux中cd命令切换目录的使用技巧,cd命令大家再熟悉不过了,bash sh - phpStudy...
  8. 诗与远方:无题(四十)
  9. python中debug有什么用途_Python debug 总结
  10. 企业为什么要上智能仓储系统?
  11. java21天打卡day20-集合
  12. linux令普通用户拥有root权限
  13. 进阶04 4 Collection集合类+Iterator迭代器+增强for+泛型
  14. html页面能直接用vuex吗,vuex(多用于不同页面之间的数据共用和修改)
  15. 什么是DNS智能云解析,什么是NS,更换NS多久生效?
  16. 三维空间中向量的旋转
  17. python-opencv视频转图片+图片转视频(步骤详解)(亲测有效)
  18. linux 开启共享文件,文件夹共享权限设置,linux设置文件夹权限-
  19. 问题:_ZN6caffe28TypeMeta21_typeMetaDataInstanceIN3c107complexINS2_4HalfEEEEEPKNS_
  20. SAP菜单中添加事务操作实例

热门文章

  1. SpringBoot+redis 实现redis 库存|名额 扣减
  2. Yandex的源代码
  3. [DeeplearningAI笔记]序列模型2.1-2.2词嵌入word embedding
  4. Vue 涉及国家安全漏洞?尤雨溪亲自回应!
  5. 计算机人事管理系统总概括,人事资源管理系统(计算机专业毕业设计).doc
  6. 如何做SEO如何优化排名教程
  7. 实验三 静态路由配置
  8. 关于表单的Validform自定义验证
  9. 课程名称:用AI做毛绒质感小毛球-CSDN就业班-专题视频课程
  10. 带记录统计的PING工具