在 Spark SQL 中计算财务日期
Posted
技术标签:
【中文标题】在 Spark SQL 中计算财务日期【英文标题】:Calculating Financial dates in 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 中执行此操作。任何帮助表示赞赏。
谢谢。
【问题讨论】:
看来你已经发了两次same question 【参考方案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 也可以与此类似。您可以在使用时优化此查询。
这是上面查询的输出:
如果对你有帮助,请告诉我。
【讨论】:
以上是关于在 Spark SQL 中计算财务日期的主要内容,如果未能解决你的问题,请参考以下文章