我預計 UST 總是比 CST 早 6 小時。顯然火花不同意。
spark.sql("""select to_utc_timestamp('2022-02-26 17:35:36', "CST") """).show()
-------------------
| time|
-------------------
|2022-02-26 23:35:36|
-------------------
spark.sql("""select to_utc_timestamp('2021-08-26 17:35:36', "CST") """).show()
-------------------
| time|
-------------------
|2021-08-26 22:35:36|
-------------------
是否有一些檔案可以準確解釋如何計算哪個時區?我只能找到
uj5u.com熱心網友回復:
一般來說,準確理解 Spark-SQL 函式如何作業的最好方法是深入研究源代碼,從org.apache.spark.sql.functions開始,然后按照面包屑導航,直到你在這里結束,這將向你展示 Spark在后臺使用標準的 java.time.* 類。
但是,這對您的情況沒有幫助,因為問題在于您的假設。用于 CST的 JavaTimeZone尊重夏令時,這將根據DateTime您給它提供不同的偏移量。您可以自己提供一個固定的偏移量,例如
spark.sql("""select to_utc_timestamp('2022-02-26 17:35:36', "-0600") """).show()
但我不知道在這種情況下自動忽略夏令時的任何方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/494569.html
