staram się ponownego dzielenia DataFrame według columnm The DataFrame ma N
(powiedzmy N=3
) różne wartości w partycji kolumnie x
, np:opuszczając puste przegródki DataFrame Apache Spark
val myDF = sc.parallelize(Seq(1,1,2,2,3,3)).toDF("x") // create dummy data
Co ja Chcąc to osiągnąć, należy ponownie rozdzielić myDF
przez x
bez tworzenia pustych partycji. Czy jest lepszy sposób niż to zrobić?
val numParts = myDF.select($"x").distinct().count.toInt
myDF.repartition(numParts,$"x")
(Gdybym nie określają numParts
w repartiton
, większość moich partycji są puste (jak repartition
tworzy 200 partycje) ...)
Zgodnie z http://spark.apache.org/docs/latest/sql-programming-guide.html#other-configuration-options, 200 partycji zostanie utworzonych z powodu wartości domyślnej dla opcji konfiguracyjnej 'iskr .sql.shuffle.partitions' – AKSW
Odpowiedź można znaleźć http://stackoverflow.com/questions/41854818/spark-dataframe-repartition-number-of-partition-not-przedstawiony?noredirect=1#comment70893687_41854818 – FaigB