您当前的位置:首页 > 互联网百科 > 大数据

大数据的处理引擎

时间:2020-11-05 11:54:16  来源:  作者:
大数据的处理引擎

> Photo by Tomas Martinez on Unsplash

 

介绍

本文基于我之前的文章"一文了解大数据管道",我试图快速概述大数据世界的所有方面。

本文的目标是重点介绍大数据 ETL 管道的"T",该管道审查处理大量数据的主要框架。主要焦点将是 Hadoop 生态系统。

但首先,让我们回顾一下这个阶段是什么。请记住,此时您已输入了已准备好处理的原始数据。

大数据处理阶段

此阶段的目标是使用单个架构清理、规范化、处理和保存数据。最终结果是具有定义良好的架构的受信任数据集。处理框架(如 Spark)用于在计算机群集中并行处理数据。

通常,您需要执行某种处理,例如:

· 验证:通过将错误数据存储在单独的存储中来验证数据并隔离坏数据。在达到特定阈值时,根据您的数据质量要求发送警报。

· 替换和清理:清理数据并将其存储在另一种格式中,以进行进一步处理,例如,用 Avro 替换效率低下的 JSON。

· 数值的规范化和标准化

· 重命名字段

请记住,目标是创建一个受信任的数据集,该数据集以后可用于下游系统。这是数据工程师的一个关键作用。这可以通过流或批处理方式完成。

在批处理的情况下,管道处理可分为三个阶段:

预处理阶段

如果原始数据未干净或格式不正确,则需要进行预处理。此阶段包括一些基本验证,但目标是为下一阶段高效处理数据做好准备。在此阶段,您应该尝试拼合数据,并保存为二进制格式,如 Avro。这将加快进一步处理。其理念是,下一阶段将执行行级操作,嵌套查询成本高昂,因此现在拼合数据将提高下一阶段的性能。

可信阶段

在此阶段,数据将验证、清理、规范化并转换为存储在 Hive 或其他数据存储中的通用架构。目标是创建数据所有者理解的受信任的公共数据集。通常,创建数据规范,数据工程师的作用是应用转换来匹配规范,包括验证规则、转换、值标准化、重命名字段等。

最终结果是可以轻松查询的 Parquet 或其他列格式的数据集。选择正确的分区并优化数据以执行内部查询至关重要。

在此阶段,您可能需要部分预计算某些聚合,以提高查询性能。

报告阶段

此步骤是可选的,但通常是必需的。遗憾的是,在使用数据湖时,单个架构不会为所有用例服务;这是数据仓库和数据湖之间的一个区别。查询 HDFS 的效率不像数据库或数据仓库那样高,因此需要进一步的优化。

在此阶段,您可能需要取消规范化数据以使用不同的分区存储数据,以便不同利益干系人可以更高效地查询数据。其理念是创建针对不同下游系统(数据集市)优化的不同视图。

在此阶段,如果不使用 OLAP 引擎,也可以计算聚合。受信任的阶段不知道谁将查询数据,此阶段优化了使用者的数据。如果客户端具有高度交互性,您可能希望在此阶段引入快速存储层,如用于快速查询的关系数据库。或者,您也可以使用 OLAP 引擎。

对于流式处理,逻辑是相同的,但它将在定义的 DAG 中以流方式运行。Spark 允许您使用历史数据加入流,但它有一些限制。OLAP 引擎更适合实时与历史数据合并。

处理框架

可用于处理的一些工具包括:

Spark

这是最广为人知的批处理框架。作为 Hadoop 生态系统的一部分,它是一个托管群集,提供令人难以置信的并行性、监视和出色的 UI。它还支持流处理(结构流)。基本上 Spark 在内存中运行 MapReduce 作业,使常规 MapReduce 性能增加 100 倍。它与 Hive 集成以支持 SQL,可用于创建 Hive 表、视图或查询数据。它有很多集成,支持许多格式,有一个巨大的社区。它由所有云提供商支持。它可以作为 Hadoop 群集的一部分在 YARN 上运行,也可以在 Kubernetes 和其他平台上运行。它有许多用于特定用例的库,如 SQL 或机器学习。

大数据的处理引擎

 

Flink

第一个统一批处理和流处理但主要关注流式处理的引擎。它可以用作像 Kafka 这样的微服务的骨干。它可以作为 Hadoop 群集的一部分在 YARN 上运行,但自成立以来,它也针对其他平台(如 Kubernetes 或 Mesos)进行了优化。它速度极快,提供实时流式处理,因此比 Spark 更好的选择,用于低延迟流处理,尤其是对于有状态流。它还具有 SQL、机器学习等库。它比 Spark 更快,是数据流更好的选项。

大数据的处理引擎

 

Storm

Apache Storm 是一个免费且开源的分布式实时计算系统。它专注于流式处理,它是 Hadoop 生态系统的托管解决方案部分。它是可扩展的,容错,保证您的数据将得到处理,并且易于设置和操作。

Samza

另一个伟大的有状态流处理引擎。Samza 允许您构建有状态的应用程序,这些应用程序可实时处理来自多个来源(包括 Apache Kafka)的数据。在 YARN 顶部运行的 Hadoop 生态系统的托管解决方案部分。

大数据的处理引擎

 

Beam

Apache Beam 它不是一个引擎本身,而是一个统一编程模型的规范,它汇集了所有其他引擎。它提供了一个可用于不同语言的编程模型,因此开发人员在处理大数据管道时不必学习新语言。然后,它将不同的后端插入可以在云或本地运行的处理步骤。Beam 支持前面提到的所有引擎,您可以轻松地在它们之间切换并在任何平台上运行它们:云、YARN、Mesos、Kubernetes。如果您要启动一个新项目,我真的建议从 Beam 开始,以确保您的数据管道是未来的证明。

大数据的处理引擎

 

结论

处理引擎是目前在大数据词中使用的最著名的工具。作为一名大数据工程师,您将经常使用这些引擎。了解这些引擎的分布式性质并知道如何优化它们、保护它们并监视它们,这一点至关重要。

请记住,还有 OLAP 引擎提供单一解决方案来查询大量数据,而无需编写复杂的转换,而是以特定格式加载数据,使查询更具性能。

对于一个新项目,我真正建议研究Apache Beam,因为它提供了一个抽象的顶部所有其他引擎允许您更改处理引擎,而无需更改代码。

对于流处理,特别是有状态的流处理,请考虑 Flink 或 Samza。对于批处理,请使用火花。

我希望你喜欢这篇文章。请随时发表评论或分享此帖子。关注我的未来职位。

(本文翻译自Daan的文章《Processing Engines for Big Data》,参考:https://itnext.io/processing-engines-for-big-data-5827bfad6b02)



Tags:大数据 处理引擎   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
> Photo by Tomas Martinez on Unsplash 介绍本文基于我之前的文章"一文了解大数据管道",我试图快速概述大数据世界的所有方面。本文的目标是重点介绍大数据 ETL 管道的"T",该...【详细内容】
2020-11-05  Tags: 大数据 处理引擎  点击:(161)  评论:(0)  加入收藏
▌简易百科推荐
张欣安科瑞电气股份有限公司 上海嘉定 201801 摘要:随着电力行业各系统接入,海量数据涌现,如何利用电网信息化中大量数据,对客户需求进行判断分析,服务于营销链条,提升企业市场竞...【详细内容】
2021-12-14  安科瑞张欣    Tags:大数据   点击:(9)  评论:(0)  加入收藏
1、什么是数据分析结合分析工具,运用数据分析思维,分析庞杂数据信息,为业务赋能。 2、数据分析师工作的核心流程:(1)界定问题:明确具体问题是什么;●what 发生了什么(是什么)●why 为...【详细内容】
2021-12-01  逆风北极光    Tags:大数据   点击:(25)  评论:(0)  加入收藏
在实际工作中,我们经常需要整理各个业务部门发来的数据。不仅分散,而且数据量大、格式多。单是从不同地方汇总整理这些原始数据就花了大量的时间,更不用说还要把有效的数据收集...【详细内容】
2021-11-30  百数    Tags:数据   点击:(21)  评论:(0)  加入收藏
数据作为新的生产要素,其蕴含的价值日益凸显,而安全问题却愈发突出。密码技术,是实现数据安全最经济、最有效、最可靠的手段,对数据进行加密,并结合有效的密钥保护手段,可在开放环...【详细内容】
2021-11-26  炼石网络    Tags:数据存储   点击:(17)  评论:(0)  加入收藏
导读:网易大数据平台的底层数据查询引擎,选用了Impala作为OLAP查询引擎,不但支撑了网易大数据的交互式查询与自助分析,还为外部客户提供了商业化的产品与服务。今天将为大家分享...【详细内容】
2021-11-26  DataFunTalk    Tags:大数据   点击:(15)  评论:(0)  加入收藏
导读:数据挖掘是一种发现知识的手段。数据挖掘要求数据分析师通过合理的方法,从数据中获取与挖掘项目相关的知识。作者:赵仁乾 田建中 叶本华 常国珍来源:华章科技数据挖掘是一...【详细内容】
2021-11-23  华章科技  今日头条  Tags:数据挖掘   点击:(20)  评论:(0)  加入收藏
今天再给大家分享一个不错的可视化大屏分析平台模板DataColour。 data-colour 可视化分析平台采用前后端分离模式,后端架构设计采用微服务架构模式。 前端技术:Angularjs、Jq...【详细内容】
2021-11-04  web前端进阶    Tags:DashboardClient   点击:(39)  评论:(0)  加入收藏
在Kubernetes已经成了事实上的容器编排标准之下,微服务的部署变得非常容易。但随着微服务规模的扩大,服务治理带来的挑战也会越来越大。在这样的背景下出现了服务可观测性(obs...【详细内容】
2021-11-02  大数据推荐杂谈    Tags:Prometheus   点击:(40)  评论:(0)  加入收藏
同一产品对老客户的要价竟然比新客户要高?这是当下“大数据杀熟”的直接结果。近年来,随着平台经济的蓬勃发展,大数据在为用户服务之外,也引发了多种不合理现象。为了有效遏制“...【详细内容】
2021-10-29    海外网   Tags:大数据   点击:(31)  评论:(0)  加入收藏
本人03年开始从事贸易行业,多年来一直致力于外贸获客和跨境电商选品等领域,最近有些小伙伴反馈海关数据演示的都挺好为啥用起来不是那么回事?大家看到数据时关注的有产品、采购...【详细内容】
2021-10-28  QD云龙    Tags:数据   点击:(33)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条