मैं एक columnm के अनुसार एक DataFrame के पुनर्विभाजन की कोशिश DataFrame है N
विभिन्न मूल्यों विभाजन स्तंभ x
में जैसे (N=3
मान लीजिए),:गिराने अपाचे स्पार्क में खाली DataFrame विभाजन
val myDF = sc.parallelize(Seq(1,1,2,2,3,3)).toDF("x") // create dummy data
क्या मैं प्राप्त करने के लिए myDF
x
द्वारा रिक्त विभाजन तैयार किए बिना पुनः प्राप्त करना है। क्या ऐसा करने का कोई बेहतर तरीका है?
val numParts = myDF.select($"x").distinct().count.toInt
myDF.repartition(numParts,$"x")
(मैं repartiton
में numParts
निर्दिष्ट नहीं करते हैं, मेरे विभाजन के सबसे खाली हैं (जैसा कि repartition
200 विभाजन बनाता है) ...)
http://spark.apache.org/docs/latest/sql-programming-guide.html#other-configuration- विकल्प के अनुसार, 200 विभाजन कॉन्फ़िगरेशन विकल्प 'स्पार्क के लिए डिफ़ॉल्ट मान के कारण बनाए जाएंगे .sql.shuffle.partitions' – AKSW
उत्तर मिल सकता है http://stackoverflow.com/questions/41854818/spark-dataframe-repartition-number-of-partition-not-preserved?noredirect=1#comment70893687_41854818 – FaigB