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

标签 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 的源数据,所以我希望尽可能避免这种情况:)

最佳答案

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

SELECT TIMESTAMP(your_ts_str + "01") AS ts

关于google-bigquery - 使用 bq 将数据加载到 BigQuery 的自定义日期格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33849969/

相关文章:

google-analytics - 连续 session 的访问编号

google-bigquery - Bigquery : get tables' sizes from all datasets

sql - BigQuery 每月活跃用户数?

sql - 如何对每个唯一版本: For each unique id,,抓取最好的分数整理成表格

python - ANSI SQL 相当于 Pandas `factorize()` ?

google-bigquery - 创建具有一组固定值范围的累积计数的 View

firebase - Google Firebase事件原始数据中关键 "previous_timestamp_micros"的含义是什么

google-bigquery - 向 BigQuery 表添加列描述?

node.js - 如何在不分区的情况下从bigquery获取所有表id?

google-bigquery - 如何在 BigQuery 上以与 CSV 相同的顺序加载数据