2016-11-11 8 views
0

私はパーティション化されたデータフレームdf1を持っています。 df1から私はdf2とdf3を作成します。Pyspark OLDデータフレームパーティションから新しいデータフレームへ

df1 = df1.withColumn("key", concat("col1", "col2", "col3")) 
df1 =df1.repartition(400, "key")  

df2 = df.groupBy("col1", "col2").agg(sum(colx)) 
df3 = df1.join(df2, ["col1", "col2"]) 

df3はdf1の同じパーティションを保持しますか?または私はdf3を再度パーティション分割する必要がありますか?

答えて

0

df3の分割は、df1と比べて全く異なります。そして、(おそらく)df2には、spark.sql.shuffle.partitions(デフォルト:200)のパーティション数(400ではなく)があります。

+0

ありがとうございます。私はそれが正直な答えだと思っていました。それは今も同じですか? 。キーとパーティションの列が異なり、パーティション番号が400であるため、 – Harish

+0

df3の更新されたコード分割を使用することは、df1と比べてまったく異なります。そして、(おそらく)df2には、spark.sql.shuffle.partitionsのパーティションの数は400ではなく、数になります。 – Mariusz

関連する問題