大家好,我是脚丫先生 (o^^o)
小伙伴们都知道,在之前数据中台的研发中,我们一直使用Datax进行数据汇聚。
并且在数据湖项目中,采用的是Kettle作为离线开发的核心功能。
这个两个开源项目虽然很优秀,但是只是针对单一的方向,一旦有实时或者其他需求,难免捉襟见肘。
因此一直苦于没有一个菜单式的流批数据集成平台,在之后我们进行了全网调研~~~最终选择了全域数据集成平台RestCloud。
自从使用了RestCloud,在大数据项目交付中大大提高了我们的进度,非常Nice。
ETLCloud为最新一代的数据集成平台,我们致力于打造一款集离线数据集成ETL、ELT、CDC实时数据集成、编排调度、数据服务API为一体的数据集成平台(DataOps),一站式满足企业的各种最为复杂的数据集成场景。提供私有化部署能力和云原生架构,满足企业不同发展阶段的业务需求。 提供开放的组件市场,企业通过本平台可以快速构建大数据基础底座,同时快速打通ERP、MES、OA、SaaS、API、MQ、IOT等数据构建数据仓库。
RestCloud数据集成平台采用SprigCloud微服务架构技术开发,底层基于纯Java语言采用前后端分离架构,前端采用React技术进行开发。 RestCloud数据集成平台是基于数据流+工作流引擎的架构进行研发的。
其底层设计了一个专门为数据处理任务流而研发的工作流引擎用以支撑任意复杂的数据流处理包括:串行、同步并行、异步并行、同步子流程、异步子流程、事务控制、循环任务执行、多流合并、数据折分、数据流复制等。
而不是基于DAG这种简单的有向无环图的数据流程处理逻辑,得益于我们在工作流上面集累的优势我们不但可以做DAG这种简单的依赖任务处理还可以做复杂的多层任务调度能力,企业可以把数据处理任务分为原子层、逻辑组合层、调度层等方式来组合企业的复杂任务调度需求,可以把一个复杂的数据集成流程拆分成多个可复用的子任务来进行调度。
接下来,给小伙伴介绍下数据集成平台的各个模块,让大家嗨起来。
众所周知,数据源管理是数据平台的较为核心的功能,传统的方式都是以单一的数据源为主,但是随着业务的逐步发展,已经很难于去满足。因此异构数据源集成是当下急需的业务功能。
通过可视化的拖、拉、拽创建异构数据源之间的集成任务,对数据进行清洗、转换、传输等操作。可以说这块功能是非常超前于其他开源的离线数据集成,其中最大的区别在于组件的丰富多样,并且支持大数据组件。
1.平台提供ETL和ELT双引擎模块,用户可根据不同业务场景选择使用ETL或ELT组件。
2.ETL可为用户实现复杂的数据集成场景以及数仓反向集成业务系统的ETL过程。
3.ELT可为用户快速实现业务数据到数仓及数湖的抽取过程。
4.具有单项目上万数据管道的稳定调度实施经验,可为用户提供复杂的数据管道架构方案,以及全球化的数据合规交换。
实时数据集成,一般用于对时效性要求很高的场景,也可以用于离线数据集成里的数据增量采集。
在ETLCloud数据集成平台里,支持异构数据源实时数据监听读取,实时数据通过经过清选、转换后可以实时存储到数仓中并可立即发布成API服务。
采用智能算法、对运行中的自动化流程进行统一监控和告警。不单单像传统的监控方式,仅仅以插件的方式去获取任务的异常。
目前大多数的监控任务的方式,是采用了prometheus进行监控,以获取数据,通过Grafana进行显示。但是这种方式很多时候,会不精准,造成严重的经济损失。而ETLCloud数据集成平台采用的是智能算法的方式对任务监控,以达到更为精准的目的。
当下而言,开源的异构数据源集成平台很多,其中以Kettle较为知名。那么接下来我们进行了总结对比:
RestCloud ETL和Kettle都有什么优势和劣势?
我们从平台架构、平台管理、监控分析、数据组件、数据传输、平台性能进行比较如下:
接下来,我们以离线数据集成的一个案例进行演示,让小伙伴感受下:
mysql数据源,把mysql的test库的info表数据,集成到test_target库的info_target表中。
(这里小伙伴可以对不同的数据源进行数据的集成)
愉快的玩转数据集成功能!
在数据平台中,进入数据源管理,之后新建数据源
这里,我以mysql数据源为案例。
对mysql的参数进行配置,测试连接之后。也就完成了我们数据源的建立。
进入离线数据集成功能模块,并创建自己项目应用
在此之后,进入应用,到达我们的核心功能区: 数据集流程
这里,小伙伴们可以进行数据流程的新建和设计
**我的数据流程设计:**把test库的info表数据,同步到 test_target库的info_target表中。
在完成了数据流程的设计之后,我们就可以执行任务(可以自己选择手动执行或者调度执行)
在执行数据流程任务之后,我们来看看成果~~~
test库的info表数据:
test_target的info_target数据:
到此,非常nice,一个mysql源,不同库表的数据同步就算完成,当然数据集成功能远远不止于此。
关键:在数据集成过程中,对数据流程的设计,小伙伴们可以使用去挖掘更多的功能,快速完成的自己工作,愉快的摸鱼才是我们向往!
完结,撒花。
祝各位终有所成,收获满满!