INCONSISTENT_BEHAVIOR_CROSS_VERSION 错误类
由于升级到以下内容,可能会得到其他结果:
DATETIME_PATTERN_RECOGNITION
Spark >= 3.0:
无法识别 DateTimeFormatter 中的 <pattern>
模式。
- 可将
<config>
设置为“LEGACY”,以还原 Spark 3.0 之前的行为。 - 可使用“
<docroot>
/sql-ref-datetime-pattern.html”中的指南形成有效的日期/时间模式。
DATETIME_WEEK_BASED_PATTERN
Spark >= 3.0:
从 Spark 3.0 开始,不支持所有基于周的模式,检测到基于周的字符:<c>
。
请改用 SQL 函数 EXTRACT。
PARSE_DATETIME_BY_NEW_PARSER
Spark >= 3.0:
无法在新的分析程序中分析 <datetime>
。
可将 <config>
设置为“LEGACY”以还原 Spark 3.0 之前的行为,或者设置为“CORRECTED”并将其视为无效的日期/时间字符串。
READ_ANCIENT_DATETIME
Spark >= 3.0:
从文件中读取 1582-10-15 之前的日期或 1900-01-01T00:00:00Z 之前的时间戳
可能会造成歧义,因为这些 <format>
文件可能是
由 Spark 2.x 或旧版本的 Hive 编写的,其使用
与 Spark 3.0+ 的外推格里历不同的传统混合日历。
请参阅 SPARK-31404 中的更多详细信息。 可以将 SQL 配置 <config>
或
数据源选项 <option>
设置为“LEGACY”,以将日期/时间值变基
根据日历差异重新设置日期/时间值。 要按原样读取日期/时间值,
按原样将日期/时间值变基、设置 SQL 配置 <config>
或数据源选项 <option>
为“CORRECTED”。
TBD
Spark >= <sparkVersion>
:<details>
WRITE_ANCIENT_DATETIME
Spark >= 3.0:
将 1582-10-15 之前的日期或 1900-01-01T00:00:00Z 之前的时间戳写入 <format>
文件可能很危险,因为这些文件稍后可能会由 Spark 2.x 或旧版 Hive 读取,而这些版本使用与 Spark 3.0+ 的前公历不同的旧混合日历。
请参阅 SPARK-31404 中的更多详细信息。
可将 <config>
设置为“LEGACY”以在写入过程中根据日历差异变基日期/时间值,从而获得最大的互操作性。
如果确定写入的文件只能由 Spark 3.0+ 或其他使用外推格里历的系统读取,也可将配置设置为“CORRECTED”以按原样写入日期/时间值。