2015-11-21 31 views
2

我在命令行上使用bq load將CSV文件上傳到Google BigQuery。它工作的很好,但是我有一個關於即時轉換時間戳的問題。使用bq將數據加載到BigQuery的自定義日期格式?

在我的源數據中,我的時間戳格式爲YYYYMM,例如, 201303含義2013年3月。

但是,Google BigQuery的timestamp fields被記錄爲僅支持Unix時間戳和YYYY-MM-DD HH:MM:SS格式字符串。所以毫不奇怪,當我加載數據時,這些字段不會轉換爲正確的日期。

有沒有什麼方法可以傳達給BigQuery,這些是YYYYMM字符串?

如果沒有我可以在加載之前將它們轉換,但我對源數據的1TB,所以我極力避免,如果可能的:)

回答

5

另一種方法是加載這個領域字符串,並將其轉換它TIMESTAMP裏面的BigQuery本身,將數據複製到另一個表(事後刪除原來的),做如下改造:

SELECT TIMESTAMP(your_ts_str + "01") AS ts 
+0

這看起來很有前途!你知道是否有可能將它添加爲BigQuery中的新列? – Richard

+0

看起來像這是添加新列的方法:http://stackoverflow.com/a/16704021/194000 – Richard

+0

只是爲了理解這個答案是否符合我的需求 - 您是否知道是否可以將轉換後的時間戳值插入BigQuery中的新列? – Richard

1

到磨沙的回答另一種可以通過以下方式實現