Google bigquery 更改表格或选择/复制到具有新列的新表格

Google bigquery 更改表格或选择/复制到具有新列的新表格,google-bigquery,Google Bigquery,我有一个巨大的BQ表,它有一个复杂的模式(许多重复的和记录的字段)。我是否有办法向该表中添加更多列和/或创建一个select,通过添加一(或多)列将整个表复制到一个新表中?复制表似乎需要展平重复的列(不好)。我需要一份带有一些新列的原始表的精确副本 我找到了一种方法,但它看起来相当有限,因为我似乎只能添加可为null或重复的列。我无法添加记录列或删除任何内容 如果要修改导入JSON数据(和模式),我可以导入任何内容。但是我的导入数据是巨大的,而且已经在非规范化的Gzip JSON中方便地进行了更

我有一个巨大的BQ表,它有一个复杂的模式(许多重复的和记录的字段)。我是否有办法向该表中添加更多列和/或创建一个select,通过添加一(或多)列将整个表复制到一个新表中?复制表似乎需要展平重复的列(不好)。我需要一份带有一些新列的原始表的精确副本

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


如果要修改导入JSON数据(和模式),我可以导入任何内容。但是我的导入数据是巨大的,而且已经在非规范化的Gzip JSON中方便地进行了更改,这似乎是一项巨大的工作。

如果希望使用查询复制表,但不希望嵌套和重复的字段被展平,可以将设置为false以保留输出模式的结构

我认为您可以添加记录类型的字段

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


您不能删除任何内容,这是正确的。

您能给我举个例子吗?我理解你的意思,但似乎我必须压平重复的列(如果有多个重复),这会产生不满意的结果。那么,是否有一种简单的SQL方式(web UI)可以将现有表复制到新表中并添加列。您的意思是“不能同时输出多个独立重复的字段”消息?如果将
flattresults
标志翻转为false,则该选项应消失。您可以在web UI中尝试此操作:
SELECT*FROM
;单击“显示选项”按钮,选择目标表,打开“允许大结果”,关闭“展平结果”。这并不能解决如何添加新列的问题,但SQL查询中的联接或联合可能会解决这个问题。你真是太棒了!答案中唯一缺少的是必须选择一个目标表。除非将输出重定向到表,否则它将不起作用(UI将灰显选项)。谢谢你可能是对的。我还没有尝试过,因为我更喜欢web UI解决方案。如果失败了,我一定会试试这个。