我有一个庞大的BQ表,其中包含复杂的模式(许多重复和记录字段)。有没有办法让我在这个表中添加更多列和/或创建一个选项,将整个表复制到一个新的列中并添加一个(或多个)列?看起来好像复制表需要对重复列进行展平(不好)。我需要原始表的精确副本和一些新列。
我找到了Update Table Schema的方法,但它看起来相当有限,因为我似乎只能添加 可空或重复列。我无法添加记录列或删除任何内容。
如果我要修改我的导入JSON数据(和架构),我可以导入任何东西。但是我的导入数据非常庞大且已经非常方便地使用了非规范化的gzip压缩JSON,所以改变它似乎是一项巨大的努力。
答案 0 :(得分:5)
我认为你可以添加 type RECORD的字段。
可空和重复参考字段的模式,而不是类型。因此,您可以添加Nullable记录或重复记录,但不能添加必需记录。
https://cloud.google.com/bigquery/docs/reference/v2/tables#resource
你是对的,你不能删除任何东西。
答案 1 :(得分:4)
如果要使用查询来复制表格,但不希望展平嵌套和重复字段,可以将flattenResults
parameter设置为false以保留输出架构的结构。