需要为BigQuery表的每一列添加描述,似乎我可以手动执行,如何以编程方式执行?
答案 0 :(得分:3)
正如Adam所提到的,您可以使用API上的表PATCH方法来更新架构列。另一种方法是使用bq。
您可以通过执行以下操作来获取架构:
1:获取JSON架构:
TABLE=publicdata:samples.shakespeare
bq show --format=prettyjson ${TABLE} > table.txt
然后将架构从table.txt复制到schema.txt ......它看起来像:
[
{
"description": "A single unique word (where whitespace is the delimiter) extracted from a corpus.",
"mode": "REQUIRED",
"name": "word",
"type": "STRING"
},
{
"description": "The number of times this word appears in this corpus.",
"mode": "REQUIRED",
"name": "word_count",
"type": "INTEGER"
},
....
]
2:将描述字段设置为您想要的任何内容(如果不存在,请添加它)。
3:告诉BigQuery使用添加的列更新架构。请注意,schema.txt必须包含完整的架构。
bq update --schema schema.txt -t ${TABLE}
答案 1 :(得分:1)
BigQuery 现在支持 ALTER COLUMN SET OPTIONS 语句,可用于更新列的描述
示例:
ALTER TABLE mydataset.mytable
ALTER COLUMN price
SET OPTIONS (
description="Price per unit"
)
文档:
答案 2 :(得分:0)
您可以使用REST API创建或更新表,并在架构中指定字段描述(schema.fields [] .description)。
https://cloud.google.com/bigquery/docs/reference/v2/tables#methods