仅将数据附加到某个列的bigquery表中

时间:2012-07-06 05:45:21

标签: google-bigquery

我已经通过浏览器工具创建了一个带有模式的大查询表。接下来我通过我本地的API调用将csv附加到该表。但是csv不包含我已经指定的所有列。所以我收到错误“提供的架构与表xxxxxxxxxxxxx:xxxx.xxxx不匹配”。那么如何通过API调用将值附加到某个特定列的bigquery表?

2 个答案:

答案 0 :(得分:1)

您可以使用较窄的架构附加到表。也就是说,如果您的表格中包含字段“A”,“B”和“C”,则只要字段“B”标记为“C”,就可以附加仅包含字段“A”和“C”的CSV文件可选(默认值)。只需确保使用加载作业提供CSV文件的正确架构。

或者,'allowJaggedRows'选项可以帮助您。这使您可以指定比模式中更少的列,其余的将使用空值填充。当然,如果你想跳过模式中间的列,你可能会失去运气。

最后,您可以通过tables.update()或tables.patch()调用更新架构以添加列。这可以让您添加原始表中没有的列。

答案 1 :(得分:0)

如果您的字段标记为NULLABLE(并且不是必需的),则可以使用JSON数据格式而不是CSV格式。

本文档的这一部分介绍了JSON格式:https://developers.google.com/bigquery/preparing-data-for-bigquery