gpt4 book ai didi

Pyspark根据今天的日期获取上一季度的最后日期

转载 作者:行者123 更新时间:2023-12-04 13:32:51 25 4
gpt4 key购买 nike

在代码存储库中,使用 pyspark,我尝试使用今天的日期,并基于此我需要检索上一季度的最后一天。然后将使用该日期过滤掉数据框中的数据。我试图在代码存储库中创建一个数据框,但没有用。我的代码在代码工作簿中工作。这是我的代码工作簿代码。

import datetime as dt
import pyspark.sql.functions as F


def unnamed():
date_df = spark.createDataFrame([(dt.date.today(),)], ['date'])
date_df = date_df \
.withColumn('qtr_start_date', F.date_trunc('quarter', F.col('date'))) \
.withColumn('qtr_date', F.date_sub(F.col('qtr_start_date'), 1))

return date_df
任何帮助,将不胜感激。

最佳答案

我得到以下代码在代码存储库中成功运行:

from transforms.api import transform_df, Input, Output
import datetime as dt
import pyspark.sql.functions as F


@transform_df(
Output("/my/output/dataset"),
)
def my_compute_function(ctx):
date_df = ctx.spark_session.createDataFrame([(dt.date.today(),)], ['date'])
date_df = date_df \
.withColumn('qtr_start_date', F.date_trunc('quarter', F.col('date'))) \
.withColumn('qtr_date', F.date_sub(F.col('qtr_start_date'), 1))

return date_df
您需要通过 ctx参数进入你的转换,你可以制作 pyspark.sql.DataFrame直接使用底层 spark_session多变的。
如果您的输入中已经有可用的日期列,您只需要确保它是 Date键入以便 F.date_trunc call 适用于正确的类型。

关于Pyspark根据今天的日期获取上一季度的最后日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64031868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com