传统数仓架构中,编排工具也是极其重要的一环,在云数据平台中,相关的 pipeline 流程执行调度会更加的繁多复杂。例如我们需要通过定时或 API 的方式来触发数据获取的流程,并在之后进行各种级联任务的触发和调度运行。在任务执行出现问题或失败时,可以自动进行重试和恢复,或提示用户介入处理。
例如上图中就是一个最简单的任务依赖关系示意,任务 2 的触发依赖于任务 1 的批处理任务成功完成的前提,这时我们就需要编排工具来支持此类工作。
编排流程中执行的具体任务,一般都是各种数据接入,数据转换操作,也就是我们俗称的 ETL 了。除了通过 SQL 或者计算引擎的 SDK(如 PySpark)来开发业务逻辑,市面上也有不少产品支持通过 no-code/low-code 方式做开发,大大降低了用户门槛。例如我们观远的 SmartETL 就是这个方面的一个不错的产品,受到了很多业务人员的喜爱。
对于流程编排相关的工具,主要的系统需求有:
可以注意到实际上很多数据获取,数据处理工具多少也带了些 ETL 或编排的能力。云厂商的产品基本都是数据获取工具的那几个,包括 AWS Glue,Google Cloud Composer(托管版的 Airflow),Google Cloud Data Fusion,Azure Data Factory。
开源工具方面,编排工具中,Airflow 应该是最著名的一个,后面随着机器学习领域对 workflow 编排的巨大需求,也涌现出了很多后起之秀,如 Dagster,Prefect,Flyte,Cadence,Argo(KubeFlow Pipeline) 等。另外像国人的 DolphinScheduler 的知名度也相当不错。ETL 的开源工具好用的不多,talend 并不是完全开源的,比较有名的主要是 Apache NiFi 和 OpenRefine 两个历史比较悠久的开源项目了。
SaaS 厂商方面可以参考数据获取部分的厂商,如 Airbyte,Fivetran,Stitch,Rivery 等,上面提到的很多编排工具的开源项目也都有对应的商业公司提供托管服务。还有不得不提到的是如今非常火爆的 dbt,基本上每家公司都在用的数据转换工具,很好的借鉴了很多软件工程领域的最佳实践,可以说是对于 DataOps 需求支持的非常好的一款产品了。
(文章来源于网络,如侵删)
相关链接:
聊聊云原生大数据平台(一)——数据平台架构 https://www.dtstack.com/bbs/article/428
聊聊云原生大数据平台(二)——数据获取 https://www.dtstack.com/bbs/article/469
聊聊云原生大数据平台(三)——数据存储 https://www.dtstack.com/bbs/article/470
聊聊云原生大数据平台(四)——数据处理 https://www.dtstack.com/bbs/article/471
聊聊云原生大数据平台(五)——元数据 https://www.dtstack.com/bbs/article/472
聊聊云原生大数据平台(六)——数据消费 https://www.dtstack.com/bbs/article/473
聊聊云原生大数据平台(七)——流程编排与 ETL https://www.dtstack.com/bbs/article/474
聊聊云原生大数据平台(八)——数仓最佳实践 https://www.dtstack.com/bbs/article/475
聊聊云原生大数据平台(九)——大数据平台建设 https://www.dtstack.com/bbs/article/476
袋鼠云在大数据领域深耕7年,拥有丰富的大数据平台建设经验和成熟的产品体系,想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs
同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack