Spark Stream Dstream RDDs订单

时间:2017-03-11 00:36:08

标签: spark-streaming

文档说:

  

在DStream上应用的任何操作都转换为底层RDD上的操作。例如,在先前将行流转换为单词的示例中,flatMap操作应用于行DStream中的每个RDD以生成单词DStream的RDD。如下图所示。

Spark Doc

我的问题是Dstream中的RDD是否按顺序处理。例如,假设您将Dstream放入一个分区:

orders.map(o => (o.buy, 1L)).repartition(1)

在其他工作中,您并行完成工作,然后在一个分区中重新分配所有内容,以便按顺序处理它并维护顺序。

鉴于此,RDDS按间隔进行,我想知道在t2之后到达的RDD是否可以在早先在t0到达的RDD之前进行。

我只想让我的Dstream维持全球秩序。

1 个答案:

答案 0 :(得分:1)

在spark中,map,filter,flatMap和coalesce等操作可确保顺序。

但重新分配并不能保证秩序。

它在流媒体中的作用相同。

如果要将分区数减少到1,请使用coalesce。