数据运营和内容运营

核心提示DataOps,即Data和Operations组合。是在数据分析过程中,提升数据质量,减少数据分析的周期时间,提高效率的一系列实践,现在逐渐发展成了一门方法论。DataOps适用于从数据准备到报告的整个数据生命周期。DataOps是一门快

DataOps,即数据和操作的结合。在数据分析过程中,是提高数据质量,减少数据分析的周期时间,提高效率的一系列实践,现在已经逐渐发展成为一种方法论。DataOps适用于从数据准备到报告的整个数据生命周期。

DataOps是一个快速发展的学科,用于管理分布在各大公司环境中的不规则数据管道。

从前,只有两条数据管道:一条是支持生成一般报告和分析活动的数据仓库,另一条是为投资者和董事会提供审计数据的财务报告数据管道。如今,随着自助分析和机器学习的发展,随着数据分析师、数据科学家和需要大量数据的应用的增加,公司拥有的管道数量也在增加。每一个都需要特殊的数据集和数据访问权限来生成内容。这是管道爆炸!

没有DataOps,每个数据管道都会成为一个数据孤岛,与其他数据管道、数据集、数据生产者关系不大。没有协作或重用,浪费了大量的人力和返工,存在大量的错误和数据缺陷,交付时间极其缓慢。商家不信任除了自己的任何数据,很多用户因为等不及,需要在没有任何数据或者数据不足的情况下做决策。

德沃普斯的到来。在引入敏捷开发和DevOps技术之前,软件工程界一直被类似的问题所困扰。现在DevOps的先行者,比如亚马逊、谷歌、linkedIn,每天都在部署软件版本,这在几年前是不可想象的发展速度。令人惊讶的是,即使周期时间加快,软件错误和缺陷也会减少。容器化和微服务的出现将进一步加速和加强软件交付周期。简而言之,DevOps能以更低的成本和更快的速度提供更好的代码。

关于数据操作

数据挑战。看到了打破僵局的机会,数据世界正在牢牢把握DevOps原则。DevOps管理代码、工具和基础设施之间的连接,以加速应用功能的交付,而DataOps增加了第四个元素——数据——比其他三个元素加起来更难控制!在每个管道中,必须对数据进行识别、捕获、格式化、标记、验证、拍照、清理、转换、组合、聚合、保护、分类、管理、移动、查询、可视化、分析和操作。喔!随着组织从数百个数据源收集大量数据,这些任务变得越来越复杂。

工具和人。另外,每个任务都需要专门的工具管理。这些工具从传统的ETL/ELT、数据质量和主数据管理工具到数据目录、数据准备和数据管理产品,再到报告、数据可视化和数据科学工具。这些工具中的每一个都针对不同类型的用户——从IT部门的系统工程师和数据库管理员到BI团队的数据工程师、数据管理员和报告开发人员——到数据分析师、数据科学家和数据用户业务部门。

协调所有这些工具、技术和人员是一项巨大的工作,尤其是在拥有大型开发团队、来自数百个来源的大量数据以及该领域大量数据分析师和数据科学家的大型组织中。这就是DataOps发展的原因。

数据操作框架

定义数据操作非常困难。它包含许多部分和过程。图1是试图绘制DataOps环境的关键组件的简图。为了简化这种环境,一些组织倾向于从单一供应商处购买所有组件,例如大型软件或云提供商或大数据工程专家。其他人喜欢使用一些最佳组合,将开源组件与带有编排和监控工具的商业组件结合起来。

数据管道

图1中间的黑色箭头代表一个典型的数据管道,源数据通过这个管道逐渐移动到三个阶段。这些管道代表了一个数据供应链,可以为各种业务用户和应用程序处理、优化和丰富数据。管道可以填充OLAP立方体用于金融用途;另一个可以将集成的客户数据传输到实时Web应用程序;另一种可能是为构建活动响应模型的数据科学家创建细分的原始数据池。

数据技术

数据管道下面是用于收集、提炼和分析数据的主要技术类别。媒体最关注这四类:数据捕捉、数据整合、数据准备和数据分析。因为那是钱的来源——软件厂商每年通过销售数据产品产生数十亿美元的收入!不幸的是,对数据技术的过分强调掩盖了更重要的数据过程,这些过程协调并驱动着这些数据技术。

如今,随着组织从批处理架构转向流架构以支持大数据和物联网,数据捕获已成为热门的技术类别。数据集成已经成为传统数据仓库项目的基础,现在已经成为主流。数据准备是一项新技术,旨在帮助数据分析师对他们自己的数据集建模,并理想地利用IT管理的存储库中的数据。数据分析师通过为业务用户提供查询、分析、可视化和分享见解的工具来完成数据周期。

和团队交接。IT部门通过收集和集成数据来启动数据供应链。这些数据通常被创建为通用的、面向主题的数据文件。然后,数据工程团队将对数据进行查询和建模,以满足特定的业务需求和用例。最后,业务用户查询和分析目标数据集,以创建报告、仪表板和预测模型。虽然它本质上是线性的,但在这个循环中可能会有中间迭代,其中包含许多必须存储、跟踪和管理的中间步骤和文件。

数据存储是支撑数据技术和团队的关键,包括运行在高性能列数据库上的数据仓库、数据湖和数据沙箱。数据存储的下面是计算架构。越来越多的计算架构基于云、虚拟化、弹性和大规模并行。

数据处理

试图仅通过技术来建设和管理管道的组织注定要失败。它不仅需要技术,还需要定义良好的流程和方法来构建、更改、测试、部署、运行和跟踪新的和修改后的功能。它还需要管理这些过程生成的所有工件,包括代码、数据、元数据、脚本、指示器、维度、层次结构等。此外,它需要协调数据技术,提供数据并监测开发、测试和生产过程。这需要作业调度、事件触发、错误处理和性能管理来满足服务级别协议。

以及开发和部署。前两个阶段由敏捷和DevOps方法很好地定义。这里的目标是与自治的和精通业务的团队一起开发新的功能,他们可以在短时间内开发完全测试的和功能性的代码。为了同步开发,团队将代码存储在应用程序版本控制的中央存储库中,以避免工作的重叠和重复。他们还使用技术和工具无缝地合并代码,并以最小的延迟将其转移到生产环境中。这些工具和系统配置集中存储和维护在配置库中。

有许多工具可以支持开发和部署过程。您可以选择从头构建一个新的应用程序或用例,或者修改现有的用例。Git是存储代码和控制版本的好工具,而Jenkins是支持CI/CD过程的开源工具。在数据世界中,有许多针对特定类型管道的开发和部署工具,包括数据仓库开发和创建机器学习模型。

安排。DataOps的核心和灵魂在于排列。在流水线中,我们需要复杂的任务工作流和大量的依赖项来处理和丰富数据。一些著名的数据编排工具如Airflow,一些开源项目如微软Azure的DataKitchen、StreamSets和DataFactory。一个好的编排工具可以协调数据开发项目的所有四个组成部分:代码、数据、技术和基础设施。在DevOps环境中,业务流程工具使用容器编排框架来激活和协调容器,以支持这些流程。

在数据世界中,业务流程工具不仅提供了新的开发/测试/生产环境。他们还负责在管道的不同阶段之间移动数据,并实例化操作数据的数据工具。工作时,他们监控进度,并将错误汇总到相应的界面并发出警报。例如,在云环境中,DataOps编排工具可能会执行以下操作:

设置平台。

触发采集作业。监控作业、检测故障并从中恢复、监控容量并在需要时触发自动扩展。

触发数据质量作业。分析核实数据,查血缘关系。

快速开始数据转换。一旦收集的数据集通过了健康检查,编排工具可以启动转换代码来合并、格式化和聚集数据元素。

触发BI工具。将数据下载到自己的列存储中,或者发送一个通知,告知新的数据集已准备好进行查询和分析。

监控工作流程。工作流成功完成后,程序将通知适当的人员并释放基础结构。

持续测试和监控。DataOps环境的最后一部分是测试环境。理想情况下,团队在开发任何代码或功能之前已经编写了测试。然后,业务流程工具在管道中的每个阶段之前和之后运行测试。在启动和集成期间,在上游捕捉错误和问题可以节省大量时间、金钱和麻烦。像Great Expectations和ICEDQ这样的工具支持持续的测试环境。还有一些产品提供对工具、应用程序和基础架构的持续监控,以确保最佳的正常运行时间和性能。unallow是一款面向大数据处理的应用性能管理产品。

测试基本构建块的开发团队可以比不测试的团队开发得更快。对于大多数想在开始之前不进行测试就一头扎进项目的开发人员来说,这一开始是违反直觉的。但是一旦测试到位,开发人员可以在找到难以解决的代码之前快速找到问题。通过持续的测试和监控,团队可以设定绩效目标,测量产出,并持续改进其周期时间和质量。

结论

DataOps的目标是使数据管道和应用程序的开发更加严谨、可重用和自动化。DataOps可以帮助数据团队从数据孤岛和受积压和无休止的质量控制问题困扰的局面转变为敏捷、自动化和加速的数据供应链,并可以持续改进和为企业带来价值。

 
友情链接
鄂ICP备19019357号-22