Apache Spark Streaming的优点:
(1)优势及特点
1)多范式数据分析管道:能和 Spark 生态系统其他组件融合,实现交互查询和机器学习等多范式组合处理。
2)扩展性:可以运行在 100 个节点以上的集群,延迟可以控制在秒级。
3)容错性:使用 Spark 的 Lineage 及内存维护两份数据进行备份达到容错。 RDD通过 Lineage 记录下之前的操作,如果某节点在运行时出现故障,则可以通过冗余备份数据在其他节点重新计算得到。
对于 Spark Streaming 来说,其 RDD 的 Lineage 关系如图 3 所示,图中的每个长椭圆形表示一个 RDD,椭圆中的每个圆形代表一个 RDD 中的一个分区(Partition),图中的每一列的多个 RDD 表示一个 DStream(图中有 3 个 DStream), t=1 和 t=2 代表不同的分片下的不同 RDD DAG。图中的每一个 RDD 都是通 过 Lineage 相 连 接 形 成 了 DAG, 由 于 SparkStreaming 输入数据可以来自于磁盘,例如 HDFS(通常由三份副本)也可以来自于网络(Spark Streaming 会将网络输入数据的每一个数据流复制两份到其他的机器)都能通过冗余数据及 Lineage 的重算机制保证容错性。所以 RDD 中任意的 Partition 出错,都可以并行地在其他机器上将缺失的 Partition 重算出来。
图 3 Spark Streaming 容错性
4)吞吐量大:将数据转换为 RDD,基于批处理的方式,提升数据处理吞吐量。图4 是 Berkeley 利用 WordCount 和 Grep 两个用例所做的测试。
图4 Spark Streaming 与 Storm 吞吐量比较图
5)实时性: Spark Streaming 也是一个实时计算框架, Spark Streaming 能够满足除对实时性要求非常高(例如:高频实时交易)之外的所有流式准实时计算场景。目前Spark Streaming 最小的 Batch Size 的选取在 0.5 ~ 2s(对比: Storm 目前最小的延迟是100ms 左右)。
本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5725940.html,如需转载请自行联系原作者