Pyspark 根据今天的日期获取上一季度的最后日期
Pyspark Getting the last date of the previous quarter based on Today's Date
在代码库中,使用 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
参数传递到您的转换中,您可以直接使用基础 spark_session
变量生成 pyspark.sql.DataFrame
。
如果您的输入中已经有可用的日期列,您只需确保它是 Date
类型,以便 F.date_trunc
调用在正确的类型上工作。
在代码库中,使用 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
参数传递到您的转换中,您可以直接使用基础 spark_session
变量生成 pyspark.sql.DataFrame
。
如果您的输入中已经有可用的日期列,您只需确保它是 Date
类型,以便 F.date_trunc
调用在正确的类型上工作。