Google bigquery 是否将列说明添加到BiqQuery表?

Google bigquery 是否将列说明添加到BiqQuery表?,google-bigquery,Google Bigquery,需要向BigQuery表的每一列添加描述,似乎我可以手动完成,如何以编程方式完成 您可以使用RESTAPI创建或更新表,并在模式中指定字段描述(schema.fields[].description) 如Adam所述,您可以使用API上的表补丁方法来更新架构列。另一种方法是使用bq 您可以首先通过执行以下操作获取架构: 1:获取JSON模式: TABLE=publicdata:samples.shakespeare bq show --format=prettyjson ${TABLE} &g

需要向BigQuery表的每一列添加描述,似乎我可以手动完成,如何以编程方式完成

您可以使用RESTAPI创建或更新表,并在模式中指定字段描述(schema.fields[].description)


如Adam所述,您可以使用API上的表补丁方法来更新架构列。另一种方法是使用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:将description字段设置为所需的任何值(如果不存在,则添加它)

3:告诉BigQuery使用添加的列更新架构。请注意,schema.txt必须包含完整的架构

 bq update --schema schema.txt -t ${TABLE}

您好,Jordan,我尝试了此方法,但我不断收到错误:更新操作中出现BigQuery错误:提供的架构与表tableABC不匹配,原因可能是什么?听起来您指定的架构与表上的架构之间存在其他架构差异。如果它不起作用,你可以用一个新问题来描述它(在注释中描述它可能太长了)。很抱歉注释太长,当我从检索到的模式文件中保留了header和trailor时,它起作用了,谢谢。由于某种原因,您的
bq show
命令不能按原样为我工作,我需要添加一个
--schema
标志:
bq show--schema--format=prettyjson${TABLE}>TABLE.txt
是否有计划将其作为DDL支持,例如
ALTER TABLE t ALTER COLUMN c SET OPTIONS(DESCRIPTION='abc')