每个数据框分区的第一个元素是Spark 2.0



我需要检索每个数据帧分区的第一个元素。我知道我需要使用mapPartitions,但我不清楚如何使用它。

注意:我使用Spark2.0,数据帧排序。

我认为它应该看起来像这样:

import org.apache.spark.sql.catalyst.encoders.RowEncoder
...
implicit val encoder = RowEncoder(df.schema)
val newDf = df.mapPartitions(iterator => iterator.take(1))

这将从DataFrame中的每个分区中获取一个元素。然后你可以收集所有的数据给你的驱动程序,即:

nedDf.collect()

这将返回一个数组,其中的元素数量等于您的分区数量。

UPD更新以支持Spark 2.0

相关内容

  • 没有找到相关文章

最新更新