【问题标题】:Calculating Financial dates in Spark SQL在 Spark SQL 中计算财务日期
【发布时间】:2021-06-26 18:25:31
【问题描述】:

我需要在 SQL API 中的 Spark SQL 中从给定日期计算财政年度、财政季度等。谁能帮我完成这个。

几个例子如下:

输入日期:2021-06-24

输出:

fncl_yr_key = 2021
fncl_qtr_key = 202104
fncl_mon = 12
lst_day_mon = 2021-06-30

输入日期:2021-09-16
输出:

fncl_yr_key = 2022
fncl_qtr_key = 202201
fncl_mon = 3
lst_day_mon = 2021-09-30

输入日期:2022-02-10
输出:

fncl_yr_key = 2022
fncl_qtr_key = 202203
fncl_mon = 8
lst_day_mon = 2022-02-28

我需要在 SQL 中执行此操作。任何帮助表示赞赏。

谢谢。

【问题讨论】:

标签: apache-spark apache-spark-sql


【解决方案1】:

以下是示例 spark sql 查询,可满足您的需求:

from pyspark.sql.functions import last_day, year, month
spark.sql("""SELECT  CASE WHEN (month(creation_date) > 6) THEN (year(creation_date) +1)  ELSE (year(creation_date)) end  AS fncl_yr_key, CASE WHEN (month(creation_date) > 6) THEN (month(creation_date) -6)  ELSE (month(creation_date) + 6) end  AS fncl_mon, last_day(creation_date) AS lst_day_mon from default.test_hudi_rds_4""").show()

fncl_qtr_key 也可以与此类似。您可以在使用时优化此查询。

这是上面查询的输出:

如果对你有帮助,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-03
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    • 2015-05-08
    • 1970-01-01
    相关资源
    最近更新 更多