各位小伙伴晚上好,我是联通数字科技有限公司数据智能事业部的王兴杰。
更好的阅读体验可前往原文阅读:巨人肩膀 | 联通数科如何基于Apache DolphinScheduler构建DataOps一体化能力平台
今天,我将和大家聊一聊联通数字科技有限公司是如何基于Apache DolphinScheduler构建DataOps一体化能力平台的。
今天的分享主要分为三个部分:
- 关于DataOps的一些思考;
- 企业在实施任务调度系统时的一些困境和困难;
- 我们基于Apache DolphinScheduler所做的一些改造。
DataOps与任务调度
在谈及任务调度系统时,我们往往会提到DataOps。那什么是DataOps?为什么它与任务调度系统密切相关?企业的数据加工链路中涉及的工具往往不仅仅只有任务调度系统,还包括数据集成、数据治理、数据应用等其他平台工具。
这种情况下,如何解决数据加工链路上的断层,以及如何降低用户的使用成本等等问题需要有一个指导思想,这就是DataOps。
DataOps是基于DevOps提出的,参照了软件研发、发布的流程,对数据的研发、治理、运营体系进行指导,旨在优化数据处理流程,提高数据处理的效率和质量。
DataOps面临的问题
在企业实施DataOps的过程中,通常会遇到以下几个主要问题:
复杂的数据接入需求
企业的数据源种类繁多,包含结构化和非结构化数据,并且存在批数据和流数据同时接入的情况。以往单一的开源数据集成工具难以满足企业复杂的数据接入场景和多样的数据源类型。
同时,由于数据源类型和网络等数据加工场景的复杂性,企业很难获取全链路的数据血缘关系。
数据治理介入时机不够完善
企业很难持续高质量的产出满足客户要求的数据。一旦数据出现问题,排查整个数据加工链路的成本很高,如果对数据加工链不熟悉,查找问题节点和修改问题的成本会更大。
长链路的数据加工尤其容易导致问题排查困难,修改问题时还要考虑下游节点的依赖关系,避免盲目修改引发生产事故。当然这种情况的生产事故问题可能不仅由于数据治理,也可能因为需求变更或bug修复导致。
人才需求问题
企业在实施DataOps过程中,通常会遇到技术人员不懂业务,业务人员不懂技术的情况。这主要是企业组织架构问题,尤其在大型企业或数据加工复杂的企业更为明显。
平台维护、数据研发、生产运营的人员通常由不同部门负责,彼此对对方的工作了解不多,数据管理意识薄弱,缺乏统一的数据标准和规范,导致口径不一致,问题处理困难。。
工具集成问题
企业使用的工具通常独立运行,用户操作需要在不同系统间跳转,甚至使用不同账号和配置进行处理。
这种情况不仅增加了操作复杂性,还可能导致数据孤岛和处理效率低下。
数据 VS 软件研发
在讨论DataOps时,理解数据研发与软件研发的差异非常重要。虽然DataOps借鉴了DevOps的概念,但数据研发和软件研发之间仍存在显著差异。
需求与设计阶段
在需求阶段和设计阶段,数据研发和软件研发的差异并不明显。
软件研发关注的是软件的架构设计和需求的流转,而数据研发则更