由于数字化呈指数级增长,全球每天至少产生 2.5 千亿字节的数据,我们可以将其为大数据。从社交媒体网站、各种传感器、卫星、购买交易、移动设备、GPS 信号等,到处都在生产数据。随着科技的进步,数据的产生并没有放缓的迹象,反而会大量增长。所有主要组织、零售商、不同的垂直公司和企业产品都开始专注于利用大数据技术来产生可操作的尝试、业务扩展、增长等。 

概述

Lambda Architecture是一个优秀的设计框架,适用于使用流处理和批处理方法的大量数据处理。流式处理方法是指在数据处于运动状态时对其进行动态分析,而不会将其保留在存储区域中,而批处理方法适用于当数据已经处于静止状态时,意味着将其保留在数据库、数据仓库系统等存储区域中。 Lambda可以有效地利用架构来平衡延迟、吞吐量、缩放和容错,从而同时从批处理和实时流处理中获得全面准确的视图。

数据管道

我们可以将整个大数据处理划分为两个不同的数据管道。一种是当数据处于静止状态时,这意味着从不同来源收集的大量数据以分布式方式存储或持久化,然后进行分析以获得准确的视图,以便做出业务决策。我们也可以将其称为批处理数据处理管道。

另一个是流式数据管道,可以在数据移动时进行分析。这里在实时数据流上运行计算。Apache Spark 是一个出色的框架。Spark 将实时数据流分成小批量,将它们保存在内存中,然后进行处理,最后将它们从内存中释放到数据流中。由于内存计算,延迟显着减少。

来自 Twitter 的 Nathan Marz 是第一个为大数据处理设计 lambda 架构的贡献者。Lambda 架构可以分为四大层。正如我们在架构图中看到的,层从数据获取开始到表示/视图或服务层。

  • 在数据摄取或消费层,我们可以包括 Apache Kafka、Flume 等,它们负责从各种不同来源收集数据。根据批量、实时流或两者结合处理数据的要求,这里会发生分叉,如 Lambda 符号 (λ)。
  • 在批处理层中,所有数据在运行任何计算之前累积。在这里我们可以实现容错和复制,以防止任何数据丢失。Hadoop分布式文件系统(HDFS)可以考虑在这一层。
  • Streaming 或 Speed 层负责处理实时流数据,而不会在存储区域中保留任何数据。在这里,数据的处理发生在运动中。该层在数据进入或以特定的短时间间隔进入时激活,随后生成实时视图,该视图被推送到下一层(服务层)。
  • 最终,在称为服务层的这一层中,我们从流层和批处理层获得组合结果,可以有效地利用这些结果来提供统一的所需结果。我们将始终定期或实时地从批处理层和流层获取更新。

作者:Gautam Goswami

免责声明:凡未注明来源或者来源为网络的信息均转自其它平台,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。网站只负责对文章进行整理、排版、编辑,不承担任何法律责任。若有侵权或异议请联系我们删除,谢谢。

发表评论

您的电子邮箱地址不会被公开。