首页 文章

Spark Stream Dstream RDDs订单

提问于
浏览
0

文件说:

在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 回答

  • 1

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

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

    它在流媒体中的工作方式相同 .

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

相关问题