使用Bigquery,我试图像下面这样删除嵌套的schmea,但无法做到这一点。有人能告诉我吗?
表:
FiledName Type Mode
Person RECORD NULLABLE
Person.Name STRING NULLABLE
Person.Add RECORD NULLABLE
Person.Add.line STRING NULLABLE
代码:
ALTER TABLE `<project_id.dataset.table_name` DROP COLUMN 'Person.Add'
我得删除整个记录。
预期输出:
FiledName Type Mode
Person RECORD NULLABLE
Person.Name STRING NULLABLE
发布于 2021-12-30 03:03:48
您可以使用下面的方法-它选择除person.add
之外的所有内容并插入到新表中。
create table `project_id.dataset.new_table_name` as
select * replace(
(select as struct person.* except(add)) as person
)
from `project_id.dataset.table_name`;
发布于 2021-12-30 02:52:23
不幸的是,根据目前无法完成的文档:https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#details_14
另一种方法是添加一个新的Person记录列和您想要的字段,将数据复制到其中,然后删除旧的Person记录。
https://stackoverflow.com/questions/70526911
复制相似问题