databricks 按周划分日期
databricks partition date by week
我是数据块的新手,正在尝试创建 partition.I 3 个可用于分区的列,即名称、值和 date.The 所需的条件是日期分区应该每周一次。
我做过这样的事情:
df\
.write\
.format("delta")\
.partitionBy(["name","value" and "date"]).
.save(writePath)
我不知道如何按周划分日期?我遇到了 repartitionByRange
但不确定如何申请我的条件?
您可以从 date
列创建新列 week
和 year
并在 partitionby:
中使用它们
from pyspark.sql import functions as F
df.withColumn("week", F.weekofyear("date")) \
.withColumn("year", F.year("date")) \
.write \
.format("delta") \
.partitionBy("year", "week") \
.save(writePath)
请注意,仅周数是不够的,因为它还取决于年份。
我是数据块的新手,正在尝试创建 partition.I 3 个可用于分区的列,即名称、值和 date.The 所需的条件是日期分区应该每周一次。 我做过这样的事情:
df\
.write\
.format("delta")\
.partitionBy(["name","value" and "date"]).
.save(writePath)
我不知道如何按周划分日期?我遇到了 repartitionByRange
但不确定如何申请我的条件?
您可以从 date
列创建新列 week
和 year
并在 partitionby:
from pyspark.sql import functions as F
df.withColumn("week", F.weekofyear("date")) \
.withColumn("year", F.year("date")) \
.write \
.format("delta") \
.partitionBy("year", "week") \
.save(writePath)
请注意,仅周数是不够的,因为它还取决于年份。