何时以及如何利用 Lambda 架构处理大数据2025年1月8日 | 阅读 10 分钟 在当前的技术环境下,众多公司都被大数据所吸引。然而,过去大数据依赖存储在 Hadoop 技术中的数据,并面临延迟问题。可以采用全新的系统来处理大量高速数据,以彻底解决这个问题。 在本文中,我们将努力使 Lambda 架构这一方便使用大数据的结构易于理解。该架构由 James Warren & Nathan Marz 设计。 让我们来看一些关于 Lambda 架构的事实。 这个架构是关于什么的?为了做出更好的业务决策并获得洞察,系统被设计用来处理数据的多样性、速度和体量。这是为分析、处理和隔离传统系统难以处理的巨大而复杂的数据而创建的一种全新的大数据方法。混合架构有助于支持大数据的实时和批量数据处理。 在此模型中,我们可以访问历史数据和新数据。为了更好地理解过去的数据流动,信息被传输到数据存储中。 该架构背后的基本思想基于 Lambda 演算,称为 Lambda 架构。该架构专门设计用于处理不可变的数据集,特别是用于其操作的目的。 该技术还可以解决任意计算函数的问题。通常,问题可以分为三个层次。
Lambda 架构的关键组成部分1. 批量层 (Batch Layer)
2. 速度层 (Speed Layer)
3. 服务层 (Serving Layer)
![]() 下图将帮助您理解上述各层。与 Hadoop 类似,此批量层也称为“数据湖”。它还充当过去的档案,存储所有输入到其中的数据。它还促进数据的批量处理,并有助于生成分析结果。 为了加速数据的流式传输和排队,速度层被引入。该层的功能是对实时数据进行分析计算。速度层与批量层有许多共同之处,它也可以进行类似的分析。唯一的区别是分析是针对近期数据执行的。根据数据的速度,数据可能最多只落后一小时。 服务层作为合并两个层结果以产生最终输出的层。 当数据被传输到系统时,它会被分成速度层和批量层。查询通过实时视图和批量视图的集成来回答。 同时,批量层执行两个关键角色。
批量层的输出以批量视图的形式呈现,而速度层的输出以实时视图模式显示。然后将结果传递给服务层。这种索引发生在服务层,以便可以以低延迟和按需方式进行请求。 速度层(也称为流层)负责处理未通过批量视图呈现的数据,因为批量层存在延迟。该层仅处理最新数据,因此可以通过创建实时视图来提供完整视图。 总而言之,我们可以说在 Lambda 架构中,数据管道被分成不同的层,每一层负责一项特定任务。在每一层中,都可以选择合适的技术。例如,在速度层,可以选择 Apache Storm、Apache Spark Streaming 或其他技术。 在 Lambda 架构中,错误可以被快速纠正,因为有必要返回数据的原始版本。这可以实现,因为在这种情况下,数据永远不会被更改,而是会添加。如果程序员输入了不准确的数据,他们可以删除然后重新计算数据。 数据湖数据湖是一个集中式存储库,允许组织以其原始形式存储大量的结构化、半结构化和非结构化数据。与需要先处理和组织才能存储数据的传统数据库不同,数据湖接受原始数据,使其成为现代数据管理的高度灵活且可扩展的解决方案。 数据湖的关键特性包括其处理来自多个来源的各种数据类型的能力,例如日志文件、多媒体、传感器数据和社交媒体 feed。这种灵活性使组织能够执行各种分析,从简单的查询到复杂的机器学习任务,而无需将数据移动到不同的系统。 数据湖通常构建在 Hadoop 或云平台等分布式存储系统上,提供可扩展性和成本效益。它们是数据驱动型计划的基础,支持实时分析、批量处理和高级数据科学应用程序。然而,如果没有适当的治理,数据湖可能会变得混乱,导致“数据沼泽”,难以检索有价值的见解。 Lambda 架构的应用Lambda 架构广泛应用于各种行业和用例,这些场景中高效处理实时和批量数据至关重要。以下是一些主要应用: 1. 实时分析和报告
2. 欺诈检测
3. 个性化和推荐引擎
4. 监控和异常检测
5. 物联网数据处理
Lambda 架构的优点Lambda 架构提供了多种优势,但最显著的优势是不可变性、容错性,以及用于执行重新计算或预计算。 该架构最显著的优点将在以下段落中进行描述。
简而言之,此设计的优点是:
Lambda 架构的缺点为准备构建数据湖的企业选择 Lambda 框架也可能存在一些缺点,尤其是在某些方面没有被考虑到的情况下。其中一些要点列在以下段落中。
Lambda 架构的统一方法如上所述,Lambda 架构的主要缺点之一是其复杂性。持续的维护和安装很麻烦,因为必须同步两个分布式系统。为了克服这些问题,有三种不同的方法,我们将在下面讨论。
下图将帮助您更好地理解上述问题。 统一方法通过利用混合计算模型来解决大数据的体量和速度问题。该模型可以轻松地将即时数据和批量数据混合在一起。 架构概述大数据系统通常处理原始和半结构化数据。当今的组织需要能够同时处理批量数据和实时数据的系统。Lambda 架构能够处理这两种过程。同时,它可以在过程中建立不可变性。 该结构遵循一套严格的指南,并且是技术的拥护者。任何技术都可以集成到其中以完成任务,因为它由不同的层组成。现成的云组件是可用的,并且可以使用 Lambda 结构进行使用。 该架构可以被描述为一个可插拔的系统,可以在需要某个过程时使用。许多数据源可以根据需求插入或拔出。 实时工作示例Lambda 架构在许多应用程序中得到了证明。以下是一些正在工作的示例:
结论自古以来,大数据技术就广受欢迎。但当涉及到 Google 或 Facebook 等公司的需求时,现有的技术并不适合业务需求。为了满足他们的需求,需要一个标准化和灵活的架构,这导致了 Lambda 架构的创建。 在此模型引入之后,必须进行适当的规划才能将数据传输到数据湖。由于该架构侧重于分析,因此可以利用传统的事务数据库将数据传输到集群。 每年,越来越多的公司正在转向大数据。 |
简介 排序是计算机科学中的一项核心操作,其应用范围从信息恢复到增强算法执行。在不同的排序算法中,快速排序因其速度和效率而脱颖而出。然而,快速排序的效率很大程度上取决于枢轴元素的选择。在本文中,我们...
阅读 4 分钟
Python 中“==”和“is”运算符的区别 在 Python 中比较对象时,身份运算符通常用于应使用相等运算符 == 的地方。在实践中,在尝试比较数据时使用 is 很少是一个好主意。身份运算符...
阅读 3 分钟
在本教程中,我们将学习一些每个 Python 开发人员都应该知道的令人惊叹的 Python 装饰器。这些装饰器将帮助将代码提升到一个新的水平,并用更少的代码做更多的事情。正如我们所知,Python 装饰器是一个强大的工具,它有助于...
阅读 10 分钟
什么是位函数?应用于每个独立位而不是完整数字的函数称为位函数。我们可以将每个数字表示为二进制位,即 0 和 1。如果我们以二进制格式表示任何数字,我们可以应用...
阅读 3 分钟
编程是我们可以掌握的世界上最赚钱的在线技能之一。如果您已经决定开始我们的 IT 冒险,请尝试学习 Python。我们将向您展示如何以有组织、有趣的方式更快地学习 Python。Python 可以快速学习……
5 分钟阅读
os.path.basename() 是 Python os.path 模块中的一个方法,它返回文件路径的基本名称。基本名称是路径的最后一个组件,在剥离所有父目录和扩展信息之后。例如,如果路径是 /home/user/Documents/myfile.txt,则基本名称是...
阅读 3 分钟
在本教程中,我们将学习 Python 中的反射机制。我们还将讨论如何实现反射以及它对编程的有效性。让我们简要介绍一下反射。介绍 反射是一种允许检查属性的机制...
阅读 4 分钟
在本教程中,我们将编写 Python 程序来查找给定列表的完美和。让我们理解问题陈述。问题陈述 给定一个由非负整数组成的数组 arr[] 和一个整数 sum,任务是计算给定数组的子集数,这些子集...
5 分钟阅读
在当今时代,新技术在我们生活的各个方面变得越来越重要,选择一种能够熟练解决日常问题的编程语言至关重要。Python 就是这种编程语言的一个例子。近年来,Python 的...
5 分钟阅读
尽管移动和 Web 应用程序似乎占据了软件开发市场,但对传统的图形用户界面 (GUI) 桌面应用程序仍然存在需求。对于热衷于使用 Python 编程语言创建此类应用程序的开发人员来说,有...
阅读25分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India