BigQuery 加载作业的无架构解决方案

Posted

技术标签:

【中文标题】BigQuery 加载作业的无架构解决方案【英文标题】:schema free solution to BigQuery Load job 【发布时间】:2016-08-25 09:34:52 【问题描述】:

背景

我研究并发现 bigQuery 不接受在线工具定义的模式(尽管含义相同,但格式不同)。 所以,我发现如果我想将数据(列数不断变化和动态增加)加载到具有固定架构的表中。

想法

我可以做的解决方法是:

    首先检查正在加载的数据是否有额外的字段。 如果有,则会发生架构不匹配,因此首先在 BQ 中创建一个临时表并使用“autodetect”参数将此数据加载到表中,这会为我提供一个架构(即 BQ 接受的格式)架构文件)。 现在我可以下载此架构文件并使用它来更新我在 BQ 中的现有表并使用适当的数据加载它。

建议

对此有任何想法,如果有更好的方法,请分享。

【问题讨论】:

【参考方案1】:

我们正在发布一项新功能,该功能可以在加载/查询作业中更新目标表的架构。使用自动检测和新功能,您可以直接将新数据加载到现有表中,并且模式将作为加载作业的一部分进行更新。敬请期待。当前的预计到达时间为 2 周。

【讨论】:

:),期待这个 该功能现已在服务器中上线。我们的命令行客户端出现了故障,所以它可能会在下周发布。请尝试一下,如果您遇到任何问题,请告诉我们。谢谢。文档位于:cloud.google.com/bigquery/docs/reference/v2/… 很棒的工作,昨天我有机会测试它。! 它不工作...我可以在清晨做,但现在似乎不工作.!...:( 这是我的负载配置,这是我收到的错误。

以上是关于BigQuery 加载作业的无架构解决方案的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 API 存储在 Google Cloud Storage 中的架构文件在 BigQuery 加载作业上设置架构?

BigQuery 负载作业限制为 15 TB

BigQuery 加载作业不会插入所有数据

BigQuery 加载作业在 JSON 中的布尔数据类型字段上失败

如何在不创建架构的情况下将 CSV 文件加载到 BigQuery

推断 BigQuery 表加载的 avro 架构