Spark、Strom、Flink和Beam的技术选型

2023-11-16

Spark streaming、Storm、Flink和Beam都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单的API来简化底层实现的复杂程度。

Storm

Storm中的核心抽象是“stream”。流是无限制的元组序列。Storm提供了用于以分布式且可靠的方式将流转换为新流的原语。例如,可以将推文流转换为趋势主题流。

Storm为进行流转换提供的基本原语是“spouts”和“bolts”。spouts和bolts具有您实现的接口,以运行特定于应用程序的逻辑。

spout是流的源头。例如,spout可能会从Kestrel队列中读取元组并将其作为流发出。或者,spout可能会连接到Twitter API并发出一连串推文。

bolt消耗任何数量的输入流,进行一些处理,并可能发出新的流。复杂的流转换,就像从一条推文流中计算趋势主题流一样,需要多个步骤,因此需要多个步骤。bolt可以执行任何功能,包括运行功能,过滤元组,进行流聚合,进行流联接,与数据库对话等等。

spout和bolt网络打包成一个“拓扑”,这是提交给Storm集群以执行的顶层抽象。拓扑是流转换的图形,其中每个节点都是spout和bolt。图中的边缘指示哪些bolt正在订阅哪些流。当spout或bolt向流中发送元组时,它将元组发送给订阅该流的每个bolt。

 

拓扑中节点之间的链接指示元组应如何传递。例如,如果Spout A和 Bolt B之间存在链接,从Spout A到Bolt C之间存在链接,并且从Bolt B到Bolt C之间存在链接,则每次Spout A发出一个元组时,都会将该元组发送到两个Bolt B和Bolt C。Bolt B的所有输出元组也将进入Bolt

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spark、Strom、Flink和Beam的技术选型 的相关文章

  • 第八章 假设检验

    目录 一 假设检验的基本概念 假设及假设检验的定义 原假设与备择假设 基本思想 接受域与拒绝域 假设检验的分类 两类错误 二 一个正态总体下的参数假设检验 期望 方差的假设检验 三 两个正态总体下的参数假设检验 期望的差异性 方差的差异性的

随机推荐