更新时间:2024-07-24 GMT+08:00

SQL语法兼容TIMESTAMP/DATE特殊字符

问题

在Spark 3.2.0社区版本之后,将不再支持TIMESTAMP(*)或DATE(*)的语法,其中*代表如下特殊时间字符:

  • epoch
  • today
  • yesterday
  • tomorrow
  • now

默认只支持timestamp '*' 或者data '*'的格式,如果使用之前的语法插入数据表,会得到NULL值。

回答

在Spark客户端中执行以下命令设置“spark.sql.convert.special.datetime”参数即可兼容之前的语法。

set spark.sql.convert.special.datetime=true;