【问题标题】:Pyspark OLD dataframe partition to New DataframePyspark OLD 数据框分区到新数据框
【发布时间】:2016-11-11 20:13:07
【问题描述】:

我有一个分区数据框,比如 df1。从 df1 我将创建 df2 和 df3..

 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?。

【问题讨论】:

    标签: python pyspark


    【解决方案1】:

    df3 的分区与 df1 完全不同。并且(可能)df2 将具有spark.sql.shuffle.partitions(默认值:200)分区数,而不是 400。

    【讨论】:

    • 谢谢.. 对不起,我认为这是直接的答案.. 现在我已经更新了我的例子,你能告诉我现在也一样吗? .因为我的键和分区列不同,分区号是400。
    • 使用 df3 的更新代码分区与 df1 完全不同。并且(可能)df2 将有spark.sql.shuffle.partitions 分区数,而不是 400。
    猜你喜欢
    • 1970-01-01
    • 2021-02-16
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多