这个牛逼的大数据工具、你可以会用了

原文链接:风一带你一起用这个牛逼的大数据工具

人只是一根芦苇,是自然界最脆弱的东西,但他是一根会思想的芦苇

大家好, 我是风一,前几天有同事找我这边同步数据、大致需求就是将不同服务器上的不同数据库进行定时的相互同步;这让我一下子就想到老早之前使用过的阿里离线同步工具 DataX;由于有很长一段时间没使用过了、在具体使用的过程中还碰到了一些小麻烦、因此这里做一下资料复习和总结、主要分为以下几个内容:

  • 一、DataX 的简介
  • 二、DataX 的配置
  • 三、DataX 的使用

欢迎关注微信公众号、一起交流,学习。
在这里插入图片描述

DataX的简介:

  • 作用:DataX 是一个异构数据源同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间的稳定高效的数据同步工作。

  • DataX框架设计

DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

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

经过几年积累,DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入、这里只放入我们常用的关系型数据库数据:

DataX的配置:

  • 下载:

DataX下载使用非常方面、大家可直接在网上搜索自行下载、然后直接解包就可以使用了、下图为解包后的文件:

  • 配置

    1、Python版本的问题:DataX下载默认是支持 Python2的版本、但我们目前大部分都是使用 Python3版本的、因此,就需要我们修改 bin/datax.py 文件:修改地方有两个:print打印的不同、except异常处理不同;这里风一是直接将datax.py文件在pycharm中打开、这样直接就知道哪里异常了、修改就可以正常使用了。

    默认的Python2版本语法,Python3版本会提示异常:

    2、数据库的一些配置:操作SQLSERVER数据库需要启开TCP/IP、否则可能会报错、开启的路径:在桌面的计算机上右键打开“管理”,然后选择“服务和应用程序”-“SQL Server配置器管理”-“SQL Server 网络配置”-“SQLEXPRESS的协议”看一下TCP/IP是否启用,如果没有的话鼠标右键启动;另外MySQL也是需要下载MySQL的jar包、放置datax/lib 中、否则MySQL可能是无法正常访问的或者DataX提示插件异常。

    3、执行文件.json的配置

    最终我们配置的数据库的相应操作都是在.json中配置的、我们需要分别配置读取和写入的数据库相关信息以及所需的语句;各数据库的详细配置直接可以在 https://github.com/alibaba/DataX 网址进行查看,这里贴出 MySQL读取、Oracle数据库写入的json配置:

DataX的使用:

DataX是通过 Python运行 datax.py 调取 .json的配置文件进行运行的、并且安装包中提供了一个 job.json文件用于我们测试 DataX 是否可正常运行;首先我们需要找到 bin/datax.py文件、然后cmd进入、代码和结果如下:

# 解决中文乱码
chcp 65001  
# 调用 datax.py文件运行job文件夹中的job.json文件
python datax.py ../job/job.json  

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>