Apache Spark:批处理与实时数据处理的一站式解决方案
1. 数据处理需求与分布式计算
在当今的企业环境中,数据处理至关重要。企业需要对来自不同渠道(如 CRM、门户网站等)的各种数据进行分析和整合,以制定业务/营销策略、做出明智决策、进行预测和推荐等。关键在于能否高效、快速地挖掘数据中的隐藏模式。
分布式计算在实现企业这些关键目标中发挥了重要作用。它允许企业在相互连接的多个节点上处理大型数据集,这些节点可能分布在不同地理位置。所有节点相互协作,朝着共同目标努力。
其中,Apache Hadoop 是分布式计算的一个流行示例,它引入了在分布式模式下执行 map/reduce 程序的框架。最初,分布式系统主要用于批处理,服务级别协议(SLA)并不严格,作业可能需要数小时才能完成。然而,随着企业对实时或近实时数据处理需求的增加,SLA 变得严格(毫秒或秒级),像 Apache Storm 这样的系统应运而生,在一定程度上满足了企业的实时数据处理需求。
但企业很快意识到,不能使用两套不同的技术来处理相同的数据集,他们需要一个一站式解决方案,而 Apache Spark 就是答案。
2. 批处理数据处理
批处理数据处理是定义一系列作业,这些作业可以依次或并行执行,以实现共同目标。大多数情况下,这些作业是自动化的,无需人工干预。作业会收集输入数据并按批次进行处理,批次大小从几 GB 到 TB 甚至 PB 不等。这些作业在相互连接的节点集上执行,形成一个节点集群。
批处理的特点之一是具有宽松的 SLA。这并不意味着没有 SLA,而是批处理通常在非工作时间执行,此时在线用户或系统的工作量较小。例如,批处
超级会员免费看
订阅专栏 解锁全文
220

被折叠的 条评论
为什么被折叠?



