更改表或使用新列选择/复制到新表

时间:2015-05-13 20:08:18

标签: google-bigquery

我有一个庞大的BQ表,其中包含复杂的模式(许多重复和记录字段)。有没有办法让我在这个表中添加更多列和/或创建一个选项,将整个表复制到一个新的列中并添加一个(或多个)列?看起来好像复制表需要对重复列进行展平(不好)。我需要原始表的精确副本和一些新列。

我找到了Update Table Schema的方法,但它看起来相当有限,因为我似乎只能添加 可空重复列。我无法添加记录列或删除任何内容。

如果我要修改我的导入JSON数据(和架构),我可以导入任何东西。但是我的导入数据非常庞大且已经非常方便地使用了非规范化的gzip压缩JSON,所以改变它似乎是一项巨大的努力。

2 个答案:

答案 0 :(得分:5)

我认为你可以添加 type RECORD的字段。

可空和重复参考字段的模式,而不是类型。因此,您可以添加Nullable记录或重复记录,但不能添加必需记录。

https://cloud.google.com/bigquery/docs/reference/v2/tables#resource

你是对的,你不能删除任何东西。

答案 1 :(得分:4)

如果要使用查询来复制表格,但不希望展平嵌套和重复字段,可以将flattenResults parameter设置为false以保留输出架构的结构。