如何将每个RDD分区限制为仅"n"条记录?



有没有办法指定每个JavRDD分区只有'n'条记录?

JavaRDD<String> res = rdd.mapPartitions((Iterator<String> iter) -> {
Iterable<String> iterable = () -> iter;
return StreamSupport.stream(iterable.spliterator(), false)
.map(s -> Dummy.getResponse(s, b))
.iterator();
});

如果你知道你有多少条记录,你可以推断出保存n条记录所需的分区数,然后使用rdd.repartition(number of partitions)

参考这里 : https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.rdd.RDD@repartition(numPartitions:Int((implicitord:Ordering[T](:org.apache.spark.rdd.RDD[T]

最新更新