【问题标题】:load json files in google cloud storage into big query table将谷歌云存储中的 json 文件加载到 bigquery 表中
【发布时间】:2020-09-14 09:21:55
【问题描述】:

我正在尝试使用 python 使用客户端库。

我面临的问题是 JSON 文件上的 TIMESTAMP 是 Unix 纪元 TIMESTAMP 格式,大查询无法检测到:

根据文档:

所以我想知道该怎么办?

我考虑过在将 JSON 格式加载到 BigQuery 表之前手动更改它吗?

或者也许正在寻找 BigQuery 方面的自动转换?

我在互联网上想知道,但找不到任何有用的东西。

提前感谢您的支持。

【问题讨论】:

    标签: json google-bigquery google-cloud-storage


    【解决方案1】:

    您有 2 个解决方案

    • 在 BigQuery 集成之前更新格式
    • 或者您在 BigQuery 集成后更新格式

    之前

    之前意味着更新您的 JSON(手动或通过脚本)或通过将 JSON 加载到 BigQuery 的过程(如 Dataflow)来更新它。

    我个人不喜欢这样,文件处理从来都不是有趣和高效的。

    之后

    在这种情况下,您让 BigQuery 将您的 JSON 文件加载到一个临时表中,并将您的 UNIX 时间戳转换为数字或字符串。然后,对该临时表执行请求,将字段转换为正确的时间戳格式,并将数据插入到最终表中。

    这种方式更流畅,更容易(编写一个简单的 SQL 查询)。但是,这意味着读取所有加载的数据(然后写入)的成本

    【讨论】:

    • 嗨,先生,首先谢谢,我只是想从临时表到新表中执行“INSERT SELECT”同样的事情。
    • 问题是我需要查询所有表并只转换 1 列我该怎么做?
    • 类似SELECT * EXCEPT (timestamp_field), CAST(....) AS timestamp_field FROM temp_table
    猜你喜欢
    • 1970-01-01
    • 2018-10-30
    • 2017-02-10
    • 2016-06-07
    • 2020-02-15
    • 2014-07-25
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    相关资源
    最近更新 更多