2016-11-06 36 views
2

JVM SimpleDateFormat domain 轉換時間戳時SQL DW's DateFormat domain.Azure的SQL數據倉庫 - JVM的SimpleDateFormat支持

在我目前的情況下,我們使用的Spark進行數據清理我目前打在Azure上的SQL DW的限制時,數據被寫入作爲一個CSV文件,其寫出爲以下列格式的時間戳:

  • 「YYYY-MM-dd'T'HH:MM:ss.SSSXXX」
  • 2001-07- 04 T 12:08:56.235-07 :00

下DATE_FORMAT選項看的DateTimeOffset,粗體Ť在上述輸出不被支持。

有什麼辦法可以直接將傳入的字符串解釋爲DateTime類型嗎?

我目前的策略是將它作爲VARCHAR加載並稍後進行清理。

+1

請提供你有什麼/你嘗試過什麼等等遠。 –

+0

如果我可能會問,這與apache-spark有什麼關係? – eliasah

+0

@eliasah與Spark格式輸出時間戳的方式有關,它使用[ISO8601組合日期+時間格式](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)發送。 對於Spark,我想問一下是否有一種方法可以使Spark將時間戳類型轉換爲可以由外部表中的SQL DW讀取的格式。 –

回答

2

它看起來像,除非你在它遇到SQL DW之前轉換日期時間本身,它不會被解釋爲由於T的日期時間。你最好的選擇是將它作爲varchar,然後將它作爲日期時間在SQL DW中由於上市這裏:https://msdn.microsoft.com/en-us/library/ms187928.aspx#Examples: Azure SQL Data Warehouse and Parallel Data Warehouse

我也建議鑄造在feature request portal一票更靈活的日期時間格式,這樣你就不必去經歷這個過程

相關問題