设为首页 | 收藏本站欢迎来到!

DataOps: 现代数据管道的精髓

作者:admin      来源:admin      发布时间:2020-11-19

DataOps,即Data和Operations组合。是在数据剖析进程中,进步数据质量,削减数据剖析的周期时刻,进步功率的一系列实践,逐渐开展成一门办法论。DataOps适用于从数据预备到陈述的整个数据生命周期。

DataOps是一门快速开展的学科,是为了办理不规则数据管道,这些数据管道遍及于各大公司的环境中。

曾几何时有那么一段夸姣的日子,只要两个数据管道:一个支撑生成通用陈述和剖析活动的数据仓库,以及一个为投资者和董事会供应审计数字的财政陈述的数据管道。现在,跟着自助服务剖析和机器学习的开展,公司具有的管道数量跟着数据剖析师,数据科学家和需求许多数据的运用程序的增多而增多。每一个都需求专门的数据集和数据拜访权限才干发生内容。这简直是管道爆破!

假如没有DataOps,每个数据管道都将成为一个数据孤岛,与其他数据管道,数据集和数据出产者简直没有联系。没有协作或重用,糟蹋许多的人工和返工,有许多的过错和数据缺点,而且交给时刻极慢。商业用户除了信赖自己的数据外不信赖任何数据,而且许多用户需求在没有任何数据或没有满意数据的情况下做出决议计划,由于他们等不及了。

DevOps的来临。在引进灵敏开发和DevOps技能之前,软件工程界一向遭到类似问题的困扰。现在,DevOps的前驱例如Amazon,Google和LinkedIn等公司每天布置软件版别,这是几年前无法幻想的开展节奏。令人惊奇的是,即便周期时刻加快了,软件过错和缺点也有所削减。容器化和微服务的面世将进一步加快和强化软件交给周期。简而言之,DevOps能够以更低的本钱更快地供应更好的代码。

关于DataOps来说

数据应战。看到打破僵局的时机,数据国际正在紧紧抓住DevOps准则。 DevOps办理代码,东西和根底架构之间的联络,以加快运用程序功用的交给,而DataOps添加了第四个元素-数据-比其他三个元素相加更难以操控!在每个管道中,有必要对数据进行标识,捕获,格式化,符号,验证,画像,整理,转化,组合,聚合,保护,分类,办理,移动,查询,可视化,剖析和操作。 呜!跟着安排从数百个数据源搜集许多数据,这些使命变得越来越杂乱。

东西和人员。此外,每个使命还需求专门的东西办理。这些东西的规划从传统的ETL / ELT,数据质量和主数据办理东西到数据目录,数据预备和数据办理产品,再到陈述,数据可视化和数据科学东西。这些东西中的每一个针对不同类型的用户-从IT部分的体系工程师和数据库办理员-到BI团队中的数据工程师,数据办理员和报表开发人员-到数据剖析师,数据科学家和数据运用者事务部分。

和谐一切的这些东西,技能和人员是一项巨大的作业,特别是在具有规划巨大的开发团队,来自数百个来历的许多数据以及该范畴的许多数据剖析师和数据科学家的大型安排中。这为什么DataOps会开展起来。

DataOps 结构

界说DataOps十分困难。它包含许多零件和进程。图1企图制作DataOps环境的要害组件的简化图。为了简化此环境,某些安排倾向于从单个供货商那里收购一切组件,例如大型软件或云供应商或大数据工程专家。其他人则喜爱运用一些最佳组合,用编列和监控东西将开源的组件和商业组件结合在一同。

图 1. DataOps 组件

数据管道

图1中心的黑色箭头表明典型的数据管道,源数据经过管道逐渐移动到三个阶段。这些管道代表了一个数据供应链,这个数据供应链能够处理,优化和丰厚数据,以供各种事务用户和运用程序运用。一个管道或许会填充财政运用的OLAP多维数据集;另一个或许将集成的客户数据传递到实时Web运用程序;另一个或许会为树立活动呼应模型的数据科学家创立一个细分的原始数据池。

数据技能

数据管道下方是用于提取,精粹和剖析数据的首要技能类别。媒体最注重这四个类别:数据捕获,数据集成,数据预备和数据剖析。由于这便是钱的来历-软件供货商每年经过出售数据产品发生数十亿美元的收入!不幸的是,对数据技能的过火注重,使得更为重要的数据进程变得相形见绌,而数据进程则是和谐和驱动这些数据技能的。

现在,跟着安排从批处理架构转向流式架构以支撑大数据和物联网,数据捕获已成为抢手技能类别。数据集成已成为传统数据仓库项目的根底,现在已成为干流。数据预备是一项新技能,旨在协助数据剖析人员建模自己的数据集,抱负地运用IT办理的存储库中的数据。 数据剖析师经过为商业用户供应查询,剖析,可视化和同享见地的东西来完结该数据周期。

团队和交代。 IT部分经过收集和集成数据来发动数据供应链。这个数据通常被创立成通用的,面向主题的数据文件。然后,数据工程团队将对数据进行查询和建模,以满意特定的事务需求和用例。最终,商业用户查询和剖析方针数据集以创立陈述,仪表板和猜测模型。虽然本质上是线性的,但该循环仍是有或许存在中心迭代,其间包含许多有必要存储,盯梢和办理的中心进程和文件。

数据存储是支撑数据技能和团队的要害,其间包含在高功用列式数据库上运转的数据仓库,数据湖和数据沙箱。数据存储下面是核算架构,越来越多的核算架构是根据云,虚拟化,弹性的以及大规划并行的。

数据处理

那些企图只是依靠技​​术来构建和办理管道的安排注定要失利。它不只需求技能,还需求界说明确的进程和办法来构建,更改,测验,布置,运转以及盯梢新功用和修正后的功用。它还需求办理这些进程生成的一切工件,包含代码,数据,元数据,脚本,方针,维度,层次结构等。而且,它需求和谐数据技能并供应数据以及监控开发,测验和出产进程。这需求作业调度,事情触发器,过错处理和功用办理,以满意服务等级协议。

开发和布置。前两个阶段经过灵敏和DevOps办法得到了很好的界说。在这里的方针是和自治的,懂得事务的团队一同开发新功用,这些团队能够在短短的时刻内开宣布经过全面测验和功用的代码。为了同步开发,团队将代码存储在运用版别操控的中心存储库中,以防止掩盖和重复作业。他们还运用技能和东西无缝地兼并代码,并以最小的推迟将代码移入出产环境。这些东西和体系装备会集存储并保护在装备库中。

有许多东西能够支撑开发和布置的流程。你能够挑选从头开端构建新的运用程序或用例,或许修正现有的用例。Git是一个很好的东西,它用于存储代码和操控版别,而Jenkins是支撑CI / CD流程的开源东西。在数据国际中,有许多针对特定类型管道的开发和布置东西,包含数据仓库开发和创立机器学习模型。

编列。 DataOps的中心和魂灵在于编列。在管道中移动,咱们需求具有很多依靠联系的杂乱使命作业流来处理和丰厚数据。一些闻名的数据编列东西如Airflow,一些开源项目如,DataKitchen,StreamSets和Microsoft Azure的DataFactory。一个好的编列东西能够很好的和谐数据开发项目的一切四个组成部分:代码,数据,技能和根底架构。在DevOps环境中,事务流程东西运用容器编列结构来激活和和谐容器以支撑这些流程。

在数据国际中,事务流程东西不只供应了新的开发/测验/出产环境。可是它们还担任在管道中不同阶段之间移动数据,并实例化对数据进行操作的数据东西。他们一边作业,一边监控进展,还要将过错归纳到适宜的界面并宣布警报。例如,在云环境中,DataOps编列东西或许会履行以下操作:

继续测验和监控。 DataOps环境的最终组成部分是测验环境。抱负情况下,团队在开发任何代码或功用之前就写好了测验。然后,事务流程东西在管道中的每个阶段之前和之后运转测验。在发动和集成时,在上游捕获过错和问题能够节约许多时刻,金钱和费事。比如Great Expectations和ICEDQ之类的东西就支撑继续的测验环境。还有一些产品供应对东西,运用程序和根底架构的继续监控,以保证最佳的正常运转时刻和功用。 Unravel便是面向大数据处理的运用程序功用办理产品之一。

运用测验作为根本构建块的开发团队的要比那些不运用的团队开发速度更快。关于大多数想在开端之前不进行测验的情况下潜入项目的开发人员来说,这起初是违背直觉的。可是一旦测验到位,开发人员就能够在发现难以解决的代码之前灵敏发现问题。经过继续的测验和监控,团队能够设定功用方针,衡量输出并不断改进其周期时刻和质量。

定论

DataOps的方针是为了使数据管道和运用程序的开发变得愈加谨慎,可重用和自动化。 DataOps能够协助数据团队从数据孤岛,以及被积压和无休止的质量操控问题缠身的情况转变为灵敏,自动化和加快的数据供应链,而且它能继续改进并为企业带来价值。

https://www.eckerson.com/artic ... lines

译者介绍 Grace,程序员,研究生结业于SUNY at Stony Brook,现在供职于Linktime Cloud Company,对大数据技能以及数据可视化技能感兴趣。