Apache spark 从spark中的第一个分区读取n个随机记录

Apache spark 从spark中的第一个分区读取n个随机记录,apache-spark,Apache Spark,我需要知道是否有任何方法可以从spark中的第一个分区获取n条随机记录。 例如,如果我想获取50条记录,数据集中总共有10000条记录被划分在20个分区中。我只需要50个随机记录从第一个分区和其余的分区不应该被处理。 我现在尝试的是- dataset.rdd.mapPartitionWithIndex { case (i, rows ) => { if( 0 == i) {scala.util.Random.shuffle(rows).take(n)} else Iterator.empt

我需要知道是否有任何方法可以从spark中的第一个分区获取n条随机记录。 例如,如果我想获取50条记录,数据集中总共有10000条记录被划分在20个分区中。我只需要50个随机记录从第一个分区和其余的分区不应该被处理。 我现在尝试的是-

dataset.rdd.mapPartitionWithIndex { case (i, rows ) => { if( 0 == i) {scala.util.Random.shuffle(rows).take(n)} else Iterator.empty}}
但它仍然会迭代所有分区。有没有什么方法可以通过迭代第一个分区来优化它