【发布时间】:2015-06-05 07:37:51
【问题描述】:
在火花流中,流数据将由在工作人员上运行的接收器接收。数据会定期推送到数据块中,接收方将收到的BlockInfo发送给驱动程序。我想知道会触发流式传输将块分发到集群吗?(换句话说,它会使用分布式存储策略)。如果它不跨集群分发数据,如何保证工作负载平衡?(图片我们有一个10s节点的集群,但只有几个接收器)
【问题讨论】:
-
Dstream 将数据在每批分到 RDD。根据定义,RDD 是分布式的。所以是的,数据分布在每个批次中
-
它会在 DStream 中复制每批 RDD 并将复制的内容分发到其他工作节点吗?
-
抱歉,我不确定我是否理解你。 DStream 表示 RDD 流,其中 dsteam 中的每个 RDD 表示批处理期间接收到的数据。比如说,你有一个间隔为 1 分钟的 Dstream。你运行这个流 1 小时。然后你会得到 60 个 RDD。每个 RDD 都是分布式的。比如说,每个 RDD 有 2 个分区。那么您现在将拥有 120 个分区。每个分区将驻留在 1 个执行程序中。在 n/w 流的情况下,数据被复制。
-
我明白了。我只想知道spark流何时从n/w接收数据,复制的数据是否会传输到其他节点。现在我明白了。谢谢你:-)
标签: apache-spark storage distributed-computing spark-streaming