如何在BigQuery表中以编程方式添加字段描述

时间:2015-12-22 01:12:06

标签: google-bigquery

我想以编程方式在bq表中添加字段描述,我知道如何在UI中进行操作。 我有这个要求,因为我的数据集中有几个表每天刷新,我们使用“writeMode”:“WRITE_TRUNCATE”。这也删除了表的所有字段名称的描述。

我还在表的架构文件中添加了描述,如此

                    {
                            "name" : "tax",
                            "type" : "FLOAT",
                            "description" : "Tax amount customer paid"
                    }

但是在运行脚本加载数据之后,我没有在最终表中看到这些描述。

2 个答案:

答案 0 :(得分:2)

某些Tables API(https://cloud.google.com/bigquery/docs/reference/v2/tables)允许您设置表格和架构的字段说明

您可以在执行期间设置说明 表创建 - https://cloud.google.com/bigquery/docs/reference/v2/tables/insert
或者在使用以下API之一创建的表之后:
补丁 - https://cloud.google.com/bigquery/docs/reference/v2/tables/patch
更新 - https://cloud.google.com/bigquery/docs/reference/v2/tables/update

我认为,在您的情况下,Patch API更适合 下面的链接显示了您可以使用这些API设置的表资源 https://cloud.google.com/bigquery/docs/reference/v2/tables#resource

答案 1 :(得分:1)

BigQuery加载作业接受包含每个字段的“描述”的模式。

https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load

如果在WRITE_TRUNCATE操作期间指定描述以及您正在创建的每个字段,则应将描述应用于目标表。

以上是上述链接中的一个片段,其中包含您指定的架构:

"load": {
  "sourceUris": [
    string
  ],
  "schema": {
    "fields": [
      {
        "name": string,
        "type": string,
        "mode": string,
        "fields": [
          (TableFieldSchema)
        ],
        "description": string
      }
    ]
  },