缘起一:

        公司现有数据仓库,是通过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介绍的更多相关文章

  1. 企业级容器管理平台 Rancher 介绍入门及如何备份数据

    企业级容器管理平台 Rancher 介绍入门及如何备份数据 是什么 Rancher 是一个为 DevOps 团队提供的完整的 Kubernetes 与容器管理解决方案的开源的企业级容器管理平台.它解决 ...

  2. 宜人贷PaaS数据服务平台Genie:技术架构及功能

    上篇:架构及组件 一.数据平台的发展 1.1 背景介绍 随着数据时代的到来,数据量和数据复杂度的增加推动了数据工程领域的快速发展.为了满足各类数据获取/计算等需求,业内涌现出了诸多解决方案.但大部分方 ...

  3. DataPipeline CTO陈肃:构建批流一体数据融合平台的一致性语义保证

    文 | 陈肃 DataPipelineCTO 交流微信 | datapipeline2018 本文完整PPT获取 | 关注公众号后,后台回复“陈肃” 首先,本文将从数据融合角度,谈一下DataPipe ...

  4. Flink 实践教程-进阶(2):复杂格式数据抽取

    作者:腾讯云流计算 Oceanus 团队 流计算 Oceanus 简介 流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的具备一站开发.无缝连接.亚 ...

  5. 陈胡:Apache SeaTunnel实现 非CDC数据抽取实践

    导读: 随着全球数据量的不断增长,越来越多的业务需要支撑高并发.高可用.可扩展.以及海量的数据存储,在这种情况下,适应各种场景的数据存储技术也不断的产生和发展.与此同时,各种数据库之间的同步与转化的需 ...

  6. Tapdata 实时数据融合平台解决方案(三):数据中台的技术需求

    作者介绍:TJ,唐建法,Tapdata 钛铂数据 CTO,MongoDB中文社区主席,原MongoDB大中华区  首席架构师,极客时间MongoDB视频课程讲师. 我们讲完了这个中台的一个架构和它的逻 ...

  7. Tapdata 实时数据融合平台解决方案(一):现代企业数据架构及痛点

    作者介绍:TJ,唐建法,Tapdata 钛铂数据 CTO,MongoDB中文社区主席,原MongoDB大中华区首席架构师,极客时间MongoDB视频课程讲师. "怎样可以来搭建一个数据中台? ...

  8. 大数据计算平台Spark内核解读

    1.Spark介绍 Spark是起源于美国加州大学伯克利分校AMPLab的大数据计算平台,在2010年开源,目前是Apache软件基金会的顶级项目.随着 Spark在大数据计算领域的暂露头角,越来越多 ...

  9. 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装

    1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)复杂度分布(complexity):代码复杂度过高将 ...

  10. 大数据竞赛平台——Kaggle 入门

    Reference: http://blog.csdn.net/witnessai1/article/details/52612012 Kaggle是一个数据分析的竞赛平台,网址:https://ww ...

随机推荐

  1. 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.12.27)

    一.百度网盘SVIP超级会员共享账号 可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答. 我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免 ...

  2. [转帖].NET Framework 中的传输层安全性 (TLS) 最佳做法

    https://learn.microsoft.com/zh-cn/dotnet/framework/network-programming/tls 传输层安全性 (TLS) 协议是一个行业标准,旨在 ...

  3. [转帖]Oracle 如何列出正在运行的定时任务

    https://geek-docs.com/oracle/oracle-questions/569_oracle_how_can_i_list_the_scheduled_jobs_running_i ...

  4. [转帖]Kafka中offsets.retention.minutes和log.retention.minutes之间的区别

    https://www.cnblogs.com/lestatzhang/p/10771115.html 前言 在Kafka中,我们可能会发现两个与retention相关的配置: log.retenti ...

  5. Grafana监控minio的极简方法

    Grafana监控minio的极简方法 背景 想监控一下minio的部分信息. 使用过程中需要关注的内容挺多的. 只看简单的node感觉已经不够了. 所以想监控易一下. 方式和方法 minio其实集成 ...

  6. [转帖]jmeter实现分布式压测

    分布式实现的前提条件: 1.master机器和奴隶机的jmeter要一致 a. jmeter版本要一致 b.jdk主要版本要一致,比如都是jdk1.8,后面的小版本不一样不影响 c.jmeter脚本中 ...

  7. [转帖]【JVM】Java内存区域与OOM

    引入 Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的"高墙",墙外面的人想进去,墙里面的人却想出来. Java虚拟机运行时数据区 如图所示 1.程序计数器(线程私有 ...

  8. ESXi重置密码以及修改网络IP地址的方法

    Study From https://www.cnblogs.com/mk21/p/15784082.html 前期公司有部分虚拟化的服务器因为只通过vCenter进行管理. 导致密码遗失. 最近因为 ...

  9. 自己想的一些判断存储长度的sql

    create table zhaobsh (t1 date ,t2 TIMESTAMP) insert into zhaobsh values (CURRENT_DATE,CURRENT_TIMEST ...

  10. element-ui中Select 选择器列表内容居中

    <el-select class="my-el-select" v-model="tenantCont" placeholder="请输入机构标 ...