我在 BigQuery 中有一个嵌套表 A,其架构如下:
{
"name": "page_event",
"mode": "repeated",
"type": "RECORD",
"fields": [
{
"name": "id",
"type": "STRING"
}
]
}
我想用其他表中的数据丰富表 A 并将结果保存为新的嵌套表。假设我想将“描述”字段添加到表 A(创建表 B),所以我的架构如下:
{
"name": "page_event",
"mode": "repeated",
"type": "RECORD",
"fields": [
{
"name": "id",
"type": "STRING"
},
{
"name": "description",
"type": "STRING"
}
]
}
如何在 BigQuery 中执行此操作?似乎在 BigQuery SQL 中没有用于创建嵌套结构的函数(除了生成列表的 NEST 函数 - 但该函数似乎不起作用,因意外错误而失败)
我能想到的唯一方法是:
有没有更简单的方法来做到这一点?
最佳答案
要丰富现有表的模式,可以使用表补丁 API
https://cloud.google.com/bigquery/docs/reference/v2/tables/patch
请求将如下所示
PATCH https://www.googleapis.com/bigquery/v2/projects/{project_id}/datasets/{dataset_id}/tables/{table_id}?key={YOUR_API_KEY}
{
"schema": {
"fields": [
{
"name": "page_event",
"mode": "repeated",
"type": "RECORD",
"fields": [
{
"name": "id",
"type": "STRING"
},
{
"name": "description",
"type": "STRING"
}
]
}
]
}
}
补丁前
补丁后
关于sql - 如何完全在 BigQuery 中创建具有嵌套架构的新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27548490/