优化网站步骤,青岛做网站企业排名,内涵图网站源码,网站建设电销话术范文spark 流式计算有许多分布式计算系统可以实时或近实时处理大数据。 本文将从对三个Apache框架的简短描述开始#xff0c;并试图对它们之间的某些相似之处和不同之处提供一个快速的高级概述。 阿帕奇风暴 在风暴 #xff0c;你设计要求的T opology实时计算的图#xff0c;然… spark 流式计算 有许多分布式计算系统可以实时或近实时处理大数据。 本文将从对三个Apache框架的简短描述开始并试图对它们之间的某些相似之处和不同之处提供一个快速的高级概述。 阿帕奇风暴 在风暴 你设计要求的T opology实时计算的图然后喂到集群其中主节点将分发工作节点来执行它之间的代码。 在拓扑中数据在喷口之间传递 喷口以不可变的键值对集称为元组的形式发射数据流而螺栓则转换这些流计数过滤器等。 螺栓本身可以选择将数据发送到处理管道中的其他螺栓。 Apache Spark Spark Streaming 核心Spark API的扩展不会像Storm那样一次处理一个流。 相反它在处理它们之前将它们切成小批时间间隔。 连续数据流的Spark抽象称为DStream 用于离散流 。 DStream是RDD 弹性分布式数据集 的微型批次。 RDD是分布式集合可以通过任意功能和数据滑动窗口上的转换 窗口计算 并行操作。 阿帕奇·萨姆扎Apache Samza Samza的流式传输方法是在收到消息时一次处理一次。 Samza的流原语不是元组或Dstream 而是消息 。 流分为多个分区 每个分区都是只读消息的有序序列每个消息具有唯一的ID offset 。 该系统还支持批处理 即按顺序使用来自同一流分区的多个消息。 尽管Samza通常依赖于Hadoop的YARN 另一个资源协商者 和Apache Kafka 但Samza的执行和流模块都可以插入。 共同点 所有这三个实时计算系统都是开源 低延迟 分布式可伸缩和容错的 。 它们都使您能够通过分布在具有故障转移功能的计算机集群上的并行任务来运行流处理代码。 它们还提供了简单的API以抽象出底层实现的复杂性。 这三个框架针对相似的概念使用不同的词汇表 比较矩阵 下表总结了一些区别 交付模式一般分为三类 最多一次 消息可能会丢失。 通常这是最不希望的结果。 至少一次 可以重新发送邮件不丢失但重复。 对于许多用例来说这已经足够了。 恰好一次 每封邮件仅发送一次并且一次无损失无重复。 尽管在所有情况下都难以保证但这是一个理想的功能。 另一方面是状态管理 。 存储状态有不同的策略。 Spark Streaming将数据写入分布式文件系统例如HDFS。 Samza使用嵌入式键值存储。 使用Storm您将不得不在应用程序层滚动自己的状态管理或者使用称为Trident的更高级别的抽象。 用例 这三个框架特别适合于有效处理连续的大量实时数据。 那么使用哪一个呢 没有硬性规定最多只有一些通用准则。 如果您想要一个允许增量计算的高速事件处理系统 Storm将会很适合。 如果您进一步需要按需运行分布式计算而客户端正在同步等待结果则可以直接使用分布式RPC DRPC。 最后但并非最不重要的一点因为Storm使用Apache Thrift 所以您可以用任何编程语言编写拓扑。 但是如果您需要状态持久性和/或仅一次交付则应查看更高级别的Trident API该API还提供了微分批处理。 一些使用Storm的公司 TwitterYahooSpotify天气频道 。 说到微批处理如果您必须进行状态计算一次发送并且不介意更高的延迟则可以考虑使用Spark Streaming……特别是如果您还计划图形操作机器学习或SQL访问。 Apache Spark堆栈使您可以将多个库与流 Spark SQL MLlib GraphX 结合起来并提供方便的统一编程模型。 特别是 流算法 例如流k均值 使Spark可以实时进行决策。 一些使用Spark的公司 AmazonYahooNASA JPLeBay Inc.百度… 如果您要处理的状态很多例如每个分区有许多GB Samza会将存储和处理置于同一台机器上从而可以有效处理内存中无法容纳的状态。 该框架还通过其可插拔 API提供了灵活性其默认执行消息传递和存储引擎都可以用您选择的替代方案来代替。 此外如果您有来自不同团队具有不同代码库的多个数据处理阶段则Samza的细粒度作业将特别适合因为可以在添加或删除它们时以最小的波纹效应进行工作。 一些使用Samza的公司 LinkedInIntuitMetamarketsQuantiplyFortscale… 结论 我们只涉及了《三个阿帕奇人》的表面。 我们没有涵盖其他许多功能以及这些框架之间的细微差别。 另外重要的是要牢记上述比较的局限性因为这些系统在不断发展。 翻译自: https://www.javacodegeeks.com/2015/02/streaming-big-data-storm-spark-samza.htmlspark 流式计算