跳到主要内容

DataOps博客

欢迎改变的地方

数据摄取框架如何将策略转化为行动

By 张贴在 工程 2022年3月21日

与数据基础设施预测 到2025年将增长到超过175 ZB在美国,数据工程师之间的争论不再是他们遇到的数据有多大. 而不是, 他们讨论如何最好地设计一个数据摄取框架,以确保为需要它们的应用程序处理和清理正确的数据

数据摄取是第一步 数据管道. 它是获取或导入数据的地方,在分析架构中发挥着至关重要的作用. 然而, 这可能是一个复杂的过程,需要适当的策略来确保数据得到正确处理. 数据摄取框架支持数据摄取.

什么是数据摄取框架?

数据摄取框架是用于为数据摄取过程提取和加载数据的过程和技术的集合, 包括数据存储库, 数据集成软件,以及数据处理工具. 

数据摄取框架通常分为批处理架构和实时架构. 这也是很有帮助的 意图 终端用户应用程序:您是将数据管道用于业务分析决策,还是将其作为数据驱动产品的一部分. 

框架如何使数据摄取策略发挥作用

在软件开发中,框架是应用程序开发的概念性平台. 除了工具之外,框架还为编程提供了基础, 功能, 通用结构, 以及帮助简化应用程序开发过程的类. 在这种情况下, 数据摄取框架简化了来自不同数据源和数据类型的数据集成和收集过程. 

您选择的数据摄取框架将取决于您的数据处理需求及其用途. 您可以选择手工编写自定义框架,以满足组织的特定需求, 或者你可以用 数据摄取工具. 因为数据摄取策略会通知框架, 需要考虑的一些因素是数据的复杂性, 这个过程是否可以自动化, 分析需要多快, 所涉及的法规和遵从性需求, 以及质量参数. 一旦确定了数据摄取策略, 您可以转向数据摄取流程流.  

数据摄取处理流程的组件

所有数据来源于特定的源系统和, 取决于源的类型, 随后会通过数据摄取过程中的不同步骤进行路由吗. 源系统广泛地由OLTP数据库组成, 云, 和本地应用程序, 来自客户数据平台的消息, 日志, 来自第三方api的webhook, 文件, 和对象存储. 

源系统需要 通过一系列工作流程编排 or 跨数据基础设施堆栈到它们的目标目的地,因为数据管道仍然包含许多自定义脚本和逻辑,这些脚本和逻辑不能完美地融入常规的 ETL工作流. 像气流这样的工作流编排工具通过使用一系列有向无环图(dag)在不同节点之间调度作业来实现这一功能。.

接下来, 元数据管理 在这个过程的早期加入,这样数据科学家就可以在下游进行数据发现,并解决数据质量规则定义等问题, 数据沿袭, 以及访问控制组. 

完成必要的转换后,此数据将 “着陆”区 可以是像Apache Iceberg、Apache Hudi或Delta lake这样的数据湖,或者像云数据仓库这样的数据湖 雪花,谷歌BigQuery,或Amazon Redshift. 电子游戏网址大全经常使用数据质量测试工具检查诸如空值之类的问题, 重命名列, 或者检查某些验收标准. 取决于用例, 在将数据从数据湖清理到数据仓库之后,还会对数据进行编排. 

这是一个点-基于特定的用例(分析决策或操作数据 数据可以发送到数据科学平台. 平台可能包括砖或Domino Data Labs 机器学习的工作负载, 可以通过Presto或Dremio等特别查询引擎进行提取, 或用于Imply的实时分析, Clickhouse, 或Rockset. 然后, 最后一步, 分析数据被发送到像Looker或Tableau这样的仪表盘上, 而操作数据被发送到自定义应用程序或应用框架,如Streamlit.    

DataOps平台,方便数据集成

决定是批处理还是流数据摄取

在批量数据摄取和流数据摄取之间进行选择,在很大程度上取决于数据是用于分析决策还是用于数据驱动产品的操作. 假设有用于这两种目的的数据源, 流数据摄取必须与批数据摄取同等对待. 例如, OLTP数据库, 客户数据平台, 和日志发出一个连续的数据流,必须首先被事件流框架(如Apache Kafka或Apache Pulsar)吸收, 然后再进一步 流处理 之前被 发送到一个数据湖

要正确地做到这一点, 必须配置分析工作负载和操作工作负载之间的关注点分离,以便分析工作负载的目标(例如正确性和可预测性)与操作工作负载的目标(例如成本效率)相对, 延迟, 以及可用性). 

数据摄取遇到的常见挑战

数据工程师在获取数据时可能会遇到一些挑战, 特别是当涉及到实时. 模式漂移、延迟问题和元数据管理障碍只是这些问题中的一小部分. 考虑到元数据管理和模式漂移也适用于批量数据摄取, 在数据吸收过程的早期使用正确的流媒体平台是势在必行的, 在业务流程层本身.

扩展数据摄取过程:实时是关键

由于数据摄取提供了许多不同类型的数据管道,而实时数据摄取在解决上述一些挑战方面发挥了巨大的作用, 实现正确的体系结构以扩展实时数据摄取过程非常重要. 

允许用户在高层次上查询数据,而无需担心来自异构数据源的模式问题, 在特设层或实时分析引擎中进行查询优化, 而数据处理逻辑在整个工作流中是绝对必要的.

由于终端用户应用程序的峰值,查询性能可能会下降,这通常可以通过对数据进行分片来解决,以便满足每秒查询(QPS)阈值.

元数据管理问题可以通过实现更改日志来解决,更改日志可以提供对数据如何添加的整个历史的视图, 修改, 或转换. 

延迟有很多因素,当谈到最广泛采用的一个 像Apache Kafka这样的框架, 数据工程师希望减少端到端延迟,从生产者向Apache Kafka写入数据到消费者从它读取数据. 分区、复制和代理的数量在此工作中起着很大的作用. 

将数据源映射到数据目标

数据摄取框架将根据数据源和目标的不同而改变. 数据仓库, 像亚马逊这样的红移, 包含结构化数据,这些数据可能具有定义的关系,通常需要将数据以某种格式摄取到其中. 例如, 如果试图将数据发送到与目标表模式不匹配的数据仓库,或者违反了已添加到该表的约束,那么将会得到一个错误. 像AWS S3这样的数据湖不那么挑剔,通常可以接收任何类型或格式的数据结构, 半结构化, 或非结构化. 

用于摄取数据的技术

数据摄取涉及到用于编码数据摄取引擎的不同技术和软件语言. 首先, 提取/转换/加载(ETL) 和extract/load/transform (ELT)是两种非常相似的集成方法. 每种方法都支持将数据从数据源移动到数据仓库. 关键的区别在于数据在何处进行转换,以及数据仓库中保留了多少数据. 

ETL是一种传统的集成方法,它涉及在将数据加载到数据仓库之前转换数据以供使用. 信息是从远程来源提取的, 转换成必要的样式和格式, 然后被装载到目的地. 然而, 用英语教学方法, 数据从一个或多个远程数据源提取,并直接加载到目标,而不进行任何格式化. 数据转换在目标数据库中进行.

在操作和分析大数据时,有几种编程语言用于为数据摄取引擎编码. 一些最流行的语言是:

  • Python 是否被认为是增长最快的编程语言之一,并在广泛的用例范围内使用. 它以易于使用、用途广泛和功能强大而闻名.
  • 一旦转向跨平台编程语言的复杂应用程序, Java是一种跨各种应用程序和开发环境使用的通用编程语言.
  • Scala 是许多大数据专业人士使用的快速而健壮的语言吗. 

随着组织采用数据驱动的方法进行业务决策, 有几个变量通知数据摄取过程. A 元数据驱动 摄取框架就是其中之一. 这种方法通过依赖元数据跳过了冗长的加载和集成过程. 作为一个结果, 它在推动大数据分析和商业智能方面发挥了重要作用——帮助了解有关客户的决策, 业务操作, 和业务流程. 此外,自动化通过使数据摄取更容易、更快和更可伸缩,从而改进了数据摄取. 

使用智能数据管道简化数据摄取

当您的组织寻求发展并在实时决策方面获得竞争优势时, 电子游戏厅 DataOps平台 能提供你到达目的地所需的资源吗. 电子游戏网址大全的端到端数据工程平台为您的组织提供连续的数据,以支持数据摄取过程.

与电子游戏网址大全的平台, 您可以快速构建和自动化数据管道,同时最小化实现新技术所需的通常启动时间. 电子游戏网址大全 今天开始为数据摄取构建智能数据管道.

 

manage-smart-data-pipelines

回到顶部

电子游戏网址大全使用cookie来改善您对电子游戏网址大全网站的体验. 单击“允许所有人同意”并继续访问电子游戏网址大全的网站. 隐私政策