You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark 3.0下Databricks SQL因周模式Y报错,求代码修改方案

问题解决方法

错误的核心原因有两个:

  • Spark 3.0+禁用了基于周的年份格式(大写YYYY),你用的TO_DATE('01-JAN-2099', 'DD-MON-YYYY')里的YYYY触发了这个限制;
  • Spark SQL的INTERVAL语法要求单位用单数形式,你写的'1 days'不符合规范。

修改后的代码如下:

var mySql = """SELECT COL1
,COL2
,START_DATE
,LEAD(START_DATE - INTERVAL '1 day', 1, TO_DATE('01-JAN-2099', 'DD-MON-yyyy')) OVER (PARTITION BY ACCT_NUMBER, CHARGE_VALUE ORDER BY START_DATE) AS END_DATE
FROM mySchema.myTable
"""

关键修改点:

  1. 把INTERVAL '1 days'改成INTERVAL '1 day',遵循Spark的INTERVAL语法要求;
  2. 把TO_DATE的格式字符串从'DD-MON-YYYY'替换为'DD-MON-yyyy',小写yyyy对应常规公历年份,不会触发基于周的年份禁用限制。

内容的提问来源于stack exchange,提问作者sgrewal116

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:56:12