关于火花流的转换功能的困惑

时间:2016-09-17 08:57:44

标签: scala apache-spark streaming bigdata

我对DStream的转换功能有点困惑。例如,如果我有以下内容。

val statusesSorted = statuses.transform(rdd => rdd.sortByKey())

整个DStream是按键分类还是DStream中的各个RDD将单独排序。如果确实如此,我该如何对整个DStream的键进行排序。

1 个答案:

答案 0 :(得分:2)

Spark中的transform函数允许您在DStream中的RDDs上执行任何Spark转换。

map转换执行类似的操作,但是在元素的基础上,而dstream上的transform操作允许您在完整的RDD上进行转换。

回答你的问题,

  

整个DStream是否可以按键或内部的各个RDD进行排序   DStream将单独排序。

它将对您的dstream中的各个RDD进行排序。

  

如果确实如此,我该如何对整个DStream的键进行排序。

要回答这个问题,请了解Spark一次处理一个批处理,批处理中的记录对应于RDD。因此,批量排序记录(即RDD)将有意义,因为它们构成了计算数据。对dstream进行排序是不合逻辑的。