我正在GCP上使用Google BigQuery。
我想复制现有表的架构,并将现在为foobar
类型的字段(STRING
)中的1更改为RECORD
,并创建foobar.potato
,foobar.nada
,...,[ C0],并使用新架构创建新表。
最好/最快的方法是什么?不幸的是,有很多字段,所以我不能只手动创建一个新表。
找到了一种通过以下方式收集架构的方法:
foobar.apple
没有太大帮助。并且当我尝试编辑表的架构以希望获取该“文本模式”时,它仅适用于新字段。
如果您只想创建一个新表,它将看起来像这样:
SELECT
* EXCEPT(is_generated, generation_expression, is_stored, is_updatable)
FROM
`myproject`.mydataset.INFORMATION_SCHEMA.COLUMNS
WHERE
table_name="old_table"
如果只需要结构,则可以执行以下操作:
select t.* except (foobar),
struct('potato' as potato, 'nada' as nada) as foobar
from t;