取消
顯示的結果
而不是尋找
你的意思是:

try_to_timestamp不按預期工作

PriyanshuKumar
新的因素

try_to_timestamp應該返回NULL後表達但投擲錯誤:

try_to_timestamp (“2019-02-28 23:59:59.000 ', ' yyyy-MM-dd HH: mm: ss ')

我理解以上表達式是錯誤的日期格式不確定的datetime文字,但我期望null代替INCONSISTENT_BEHAVIOR_CROSS_VERSION。PARSE_DATETIME_BY_NEW_PARSER錯誤。

1回複1

庫瑪
重視貢獻二世
重視貢獻二世

@PriyanshuKumar,

謝謝你的問題在磚社區。

try_to_timestamp ()函數的目的是試圖將一個字符串轉換為時間戳格式根據指定的模式並返回如果不能這樣做。然而,在你提供的場景,它不返回而是因為拋出錯誤輸入時間戳字符串不能解析的新datetime解析器中引入新版本的Apache火花。

一個方法你可以達到你的預期結果是使用try - catch塊而不是使用try_to_timestamp ():

從pyspark.sql。功能導入to_timestamp,點燃def try_to_timestamp (timestamp_string、模式):試題:返回to_timestamp(點燃(timestamp_string)模式):除了返回沒有try_to_timestamp (2019-02-28 23:59:59.000, yyyy-MM-dd HH: mm: ss) #返回null

這段代碼定義了一個新的函數try_to_timestamp ()包裝的to_timestamp ()函數在一個try - catch塊並返回沒有一個在發生異常,有效地模擬預期的行為try_to_timestamp ()應該表現出。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map