使用bq将数据加载到BigQuery的自定义日期格式?

时间:2015-11-21 23:42:53

标签: google-bigquery

我在命令行上使用bq load将CSV文件上传到Google BigQuery。它工作得很好,但我有一个关于即时转换时间戳的问题。

在我的源数据中,我的时间戳格式为YYYYMM,例如201303表示2013年3月。

但是,Google BigQuery的timestamp fields被记录为仅支持Unix时间戳和YYYY-MM-DD HH:MM:SS格式字符串。不出所料,当我加载数据时,这些字段无法转换为正确的日期。

有什么方法可以告诉BigQuery这些是YYYYMM字符串吗?

如果不是我可以在加载之前转换它们,但我有大约1TB的源数据,所以我很想在可能的情况下避免这种情况:)

2 个答案:

答案 0 :(得分:5)

另一种方法是将此字段加载为STRING,并将其转换为BigQuery内部的TIMESTAMP,将数据复制到另一个表中(之后删除原始表),并执行以下转换:

{{1}}

答案 1 :(得分:1)

可以通过以下方式替代Mosha的答案:

SELECT DATE(CONCAT(your_ts_str, "01")) as ts