INCONSISTENT_BEHAVIOR_CROSS_VERSION 錯誤類別
升級到後,您可能會得到不同的結果
此錯誤類別有下列衍生錯誤類別
DATETIME_PATTERN_RECOGNITION
Spark >= 3.0:無法在 DateTimeFormatter 中辨識 <pattern>
模式。1) 您可以將 <config>
設定為「LEGACY」,以恢復 Spark 3.0 之前的行為。2) 您可以根據「<docroot>
/sql-ref-datetime-pattern.html」中的指南,形成有效的日期時間模式。
PARSE_DATETIME_BY_NEW_PARSER
Spark >= 3.0:無法在新的剖析器中剖析 <datetime>
。您可以將 <config>
設定為「LEGACY」,以恢復 Spark 3.0 之前的行為,或設定為「CORRECTED」,並將其視為無效的日期時間字串。
READ_ANCIENT_DATETIME
Spark >= 3.0:從 <format>
檔案中讀取 1582-10-15 之前的日期或 1900-01-01T00:00:00Z 之前的時間戳記可能會產生歧義,因為這些檔案可能是由 Spark 2.x 或舊版 Hive 編寫的,而舊版 Hive 使用的舊式混合曆法與 Spark 3.0+ 的前儒略曆不同。詳情請參閱 SPARK-31404。您可以將 SQL 設定 <config>
或資料來源選項 <option>
設定為「LEGACY」,以便在讀取時根據曆法差異重新設定日期時間值。若要按原樣讀取日期時間值,請將 SQL 設定或資料來源選項設定為「CORRECTED」。
WRITE_ANCIENT_DATETIME
Spark >= 3.0:將 1582-10-15 之前的日期或 1900-01-01T00:00:00Z 之前的時間戳記寫入 <format>
檔案中可能會很危險,因為這些檔案日後可能會被 Spark 2.x 或舊版 Hive 讀取,而舊版 Hive 使用的舊式混合曆法與 Spark 3.0+ 的前儒略曆不同。詳情請參閱 SPARK-31404。您可以將 <config>
設定為「LEGACY」,以便在寫入時根據曆法差異重新設定日期時間值,以獲得最大的互操作性。或者,如果您確定寫入的檔案只會被 Spark 3.0+ 或其他使用前儒略曆的系統讀取,則可以將設定設定為「CORRECTED」以按原樣寫入日期時間值。