Есть ли способ получить текущее количество разделов DataFrame? Я проверил DataFrame javadoc (искра 1.6) и не нашел метода для этого, или я просто пропустил его? (В случае JavaRDD есть метод getNumPartitions().)
Получить текущее количество разделов DataFrame
Ответ 1
Вам необходимо вызвать getNumPartitions()
для DataFrame, лежащего в основе RDD, например, df.rdd.getNumPartitions()
. В случае Scala это метод без параметров: df.rdd.getNumPartitions
.
Ответ 2
конвертировать в RDD, затем получить длину разделов
DF.rdd.partitions.length
Ответ 3
size
является еще одной альтернативой.
позвольте мне объяснить вам это с полным примером...
val x = (1 to 10).toList
val numberDF = x.toDF("number")
numberDF.rdd.partitions.size // => 4
Чтобы доказать, какое количество разделов мы получили выше... сохраните этот фрейм данных как csv
numberDF.write.csv("/Users/Ram.Ghadiyaram/output/numbers")
Вот как данные разделены на разные разделы.
Partition 00000: 1, 2
Partition 00001: 3, 4, 5
Partition 00002: 6, 7
Partition 00003: 8, 9, 10
Ответ 4
val df = Seq(
("A", 1), ("B", 2), ("A", 3), ("C", 1)
).toDF("k", "v")
df.rdd.getNumPartitions