文档说:
在DStream上应用的任何操作都转换为底层RDD上的操作。例如,在先前将行流转换为单词的示例中,flatMap操作应用于行DStream中的每个RDD以生成单词DStream的RDD。如下图所示。
我的问题是Dstream中的RDD是否按顺序处理。例如,假设您将Dstream放入一个分区:
orders.map(o => (o.buy, 1L)).repartition(1)
在其他工作中,您并行完成工作,然后在一个分区中重新分配所有内容,以便按顺序处理它并维护顺序。
鉴于此,RDDS按间隔进行,我想知道在t2之后到达的RDD是否可以在早先在t0到达的RDD之前进行。
我只想让我的Dstream维持全球秩序。
答案 0 :(得分:1)
在spark中,map,filter,flatMap和coalesce等操作可确保顺序。
但重新分配并不能保证秩序。
它在流媒体中的作用相同。
如果要将分区数减少到1,请使用coalesce。