将列及其数据附加到BigQuery表

时间:2015-05-18 13:01:36

标签: google-bigquery

我已经成功地使用此link将列附加到BigQuery表。这只是更新架构,但我还要填写新添加的列的字段。有办法吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

BigQuery仅附加,因此您无法更新现有行。对于新插入,您可以填充添加的新列。

如果您想要更新以前的数据,您需要将表重新创建为新表,然后您可以在插入时添加所需的数据。

答案 1 :(得分:3)

如果要填写新列,可以使用write disposition" write truncate"来运行执行此操作的查询。例如,如果表mydataset.mytable包含字段a,b和c,则添加d,并希望填写值" foo"对于没有它的任何行中的d,你可以这样做:

SELECT a,b,c,IFNULL(d, "foo") as d FROM mydataset.mytable

然后,您可以将目标表格设置为mydataset.mytable,设置'允许大结果',并将写入首选项设置为'覆盖表格'。 (如果您正在使用UI ...如果您直接使用API​​,则查询作业配置的“查询选项”部分中会有映射。)

请注意,如果您有任何嵌套字段(请说' b'是嵌套的),您可以使用b.*代替b选择列表并清除“展平结果”'查询选项中的字段。