Pyspark Dataframe - 按覆盖问题分区

问题描述

我是 Pyspark 的新手。我创建了一个 pyspark 脚本,该脚本在一个月内运行多次

示例脚本:

df = spark.sql("""  
SELECT col1,col2,'JAN' as RPT_PRD_PARTITION
FROM db.tablename """)

让我们假设 df

首次运行(开始日期 - 1 月 1 日和结束日期 - 1 月 25 日)- 创建 100 条记录

第二次运行(开始日期 - 1 月 1 日和结束日期 - 1 月 31 日)- 创建 150 条记录

第三次运行(开始日期 - 2 月 1 日和结束日期 - 2 月 28 日)- 创建 200 条记录

在这里我尝试使用 RPT_PRD_PARTITION col 来做一个分区,我每个月都会手动更改

使用下面的命令覆盖最近的分区

df.write.partitionBy("RPT_PRD_PARTITION").mode("overwrite").format("parquet").saveAsTable("db.table1")

第三次运行后我的最终输出应该是:

总记录数 - 400

分区数 - 2 (JAN,FEB)

我如何实现这一目标?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)