数据抽取平台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.   有抽取的历史记录日志等信息

实现文档:

数据抽取平台pydatax介绍--实现和项目使用-CSDN博客

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值