• 数据抽取平台pydatax介绍


       缘起一:

            公司现有数据仓库,是通过kettle从mysql抽取到目标库,运行多年,主要有以下问题,

                1,效率低:kettle抽取行数少 

                2,容错性差:一个表抽取出错就导致后续计算会出问题,

                3,扩展性差: 对多库多表等支持不好

         近300张表抽取,再加上计算,每天都算到7点,还有2个巨大的计算要等到10点左右才能算完。

        上一任数仓开发者,使用datax来替换kettle,将数据通过datax抽取到新的greeplum中,效率很高,而且稳定,但每个表一个shell文件,300个表要300个shell文件,每次修改都要登陆到linux修改,太麻烦了。但迁移了部分表又没有全部迁移。

         自从2022年11月接下这套数据仓库系统,就想怎么优化这数仓系统。

      缘起二:

           2023年10月开始,公司接了几个关于数据指标系统计算的大单。经济形势不好,经济上开始开源节流,我们这些维护人员转做项目,当项目确定后,和另一个开发人员一起做个数据仓库系统。这个数据仓库的ETL抽取层任务交给我,因为以前设计和实现过下面2个系统:

            1、SSIS数据同步系统

            2,用ELK分析每天4亿多条腾讯云MySQL审计日志(1)--解决过程   

       借鉴2个系统的思路,就想,是否可以通过程序调用datax,做个闭环的基于datax的系统,不用再写很多shell文件,将其元数据都配置化,提高开发效率。

     方法:

          市面上是有datax_web这个可视化配置平台,自己测试,和自己想要的不一样,思考了一下,要么用linux的shell或者python3来写这个datax的配置调度,将其需要的数据都配置化:

           1,测试了linux的shell,在读取mysql表数据字段数据时,进行多字段数据读取,字段数据读出后,不能很好分割出,有空格的会作为一个新字段。不可用

           2,因datax也是python开发的,支持python2,想用python3程序开发,实现配置化,通过测试,发现是可以直接在python3程序调用datax,而且很方便。 可用

      目标:   简化datax的开发,其配置等数据都数据库表配置化

            经过1个多月的开发和测试,达到了上面的2个要求,同时可以记录执行过程等相关信息(如抽取时间,抽取速度,抽取行数等),执行错误记录相关错误信息,不用再登陆到linux去看日志文件信息。

            这个小系统,被命名为pydatax抽取系统,和以前用kettle和单个文件datax相比,有很大优势: 简单,实用和高效

         pydatax新系统带来巨大便利:

      1.   抽取表等相关信息数据全部可配置化
      2.   抽取出错信息直接表中查看
      3.   新加和修改直接修改表数据即可完成,极大提高效率
      4.   抽取历史数据和错误数据可单独执行
      5.   有抽取的历史记录日志等信息
      6.    该平台免费简单,可以根据实际项目需求做二次修改, 其T+1的ETL数据库功能可以替换阿里云的Dataworks和腾讯云的数据集成

       相关文档:

    1.     数据抽取平台pydatax介绍--实现和项目使用
    2.     数据抽取平台pydatax介绍

           

     

  • 相关阅读:
    基于SpringBoot+Dubbo构建的电商前后端分离平台
    Java 在PDF中添加水印
    MySQL 执行计划参数
    Wonderware 实时库——一套可落地的传统工业实时库
    WebLogic:如何实现应用的优雅停止?
    【 版本】Alpha 、Beta 、RC 、GA 版本区别
    期货开户公司可以提供个性化服务
    在键盘输入一个数输出的是该数二进制的个数--c语言
    南卡和声阔真无线降噪耳机哪款更好?南卡和声阔蓝牙耳机测评
    DOPE-FITC在细胞定位、动态追踪等方面的应用-星戈瑞
  • 原文地址:https://www.cnblogs.com/zping/p/18006506