对spark streaming的transform函数的困惑
Confusion about spark streaming's transform function
我对 DStream 的转换函数有点困惑。例如,如果我有以下内容。
val statusesSorted = statuses.transform(rdd => rdd.sortByKey())
整个DStream是按键排序还是DStream中的各个RDD单独排序。如果确实如此,我该如何对整个 DStream 的键进行排序。
Spark 中的 transform
函数允许您在 DStream 中对 RDDs
执行任何 Spark 转换。
map
转换执行类似的操作,但基于元素到元素,而 dstream 上的 transform
操作允许您对完整的 RDD 执行转换。
回答您的问题,
Would the whole DStream be sorted by key or the individual RDDs inside
the DStream would be sorted separately.
它将对您的 dstream 中的各个 RDD 进行排序。
If that is indeed the case, how can I sort keys of the whole DStream.
要回答这个问题,请理解Spark一次处理一批,一批中的记录对应于RDD。因此,对批次(即 RDD)中的记录进行排序是有意义的,因为它们形成了用于计算的数据。对 dstream 进行排序是不合逻辑的。
我对 DStream 的转换函数有点困惑。例如,如果我有以下内容。
val statusesSorted = statuses.transform(rdd => rdd.sortByKey())
整个DStream是按键排序还是DStream中的各个RDD单独排序。如果确实如此,我该如何对整个 DStream 的键进行排序。
Spark 中的 transform
函数允许您在 DStream 中对 RDDs
执行任何 Spark 转换。
map
转换执行类似的操作,但基于元素到元素,而 dstream 上的 transform
操作允许您对完整的 RDD 执行转换。
回答您的问题,
Would the whole DStream be sorted by key or the individual RDDs inside the DStream would be sorted separately.
它将对您的 dstream 中的各个 RDD 进行排序。
If that is indeed the case, how can I sort keys of the whole DStream.
要回答这个问题,请理解Spark一次处理一批,一批中的记录对应于RDD。因此,对批次(即 RDD)中的记录进行排序是有意义的,因为它们形成了用于计算的数据。对 dstream 进行排序是不合逻辑的。