2012-07-06 62 views
1

我已经通过浏览器工具创建了一个具有模式的大型查询表。下一次我通过来自我的local.But的API调用将csv追加到该表中。但是,csv don不包含我已经指定的所有列。所以我收到错误“提供的架构不匹配表xxxxxxxxxxxxx:xxxx.xxxx”。那么如何通过API调用将值追加到某个特定列的bigquery表中呢?将数据附加到bigquery表的一些列只有

回答

1

可以使用较窄的模式附加到表。也就是说,只要字段“B”被标记为“A”,“B”和“C”,您的表格就可以添加仅包含字段“A”和“C”的CSV文件可选(这是默认设置)。只要确保您在加载作业中提供了正确的CSV文件模式。

或者,'allowJaggedRows'选项可以帮助你在这里。这使您可以指定比模式中列数少的列,其余列将用空值填充。当然,你想跳过模式中间的列,你可能会不走运。

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

+0

这仍然不被支持?什么是补丁(https://cloud.google.com/bigquery/docs/reference/v2/tables/patch)?我正在评估物联网的不同选项,并更新现有行是必需的 – dashesy 2015-02-14 18:28:27

+0

我已经更新了有关如何执行此操作的最新信息的答案。如果您还有其他问题,请随时发起另一个问题。 – 2015-02-18 16:50:22

相关问题