是否可以为BigQuery表添加或更新自定义元数据?
BigQuery 自定义表元数据方案
完全支持,你可以通过以下两种官方提供的元数据能力实现需求:
方案1:使用表标签(Labels)
适合存储格式简单、需要用于检索过滤的元数据,你的场景如果仅存储标准化的日期字符串(如20240520、2024-05-20T12:00:00)完全够用。
- 限制:键和值仅支持小写字母、数字、下划线、短横线,单值最长63字符
- 操作命令(bq 工具):
bq update --set_label pipeline_start_date:20240520 your_project_id:your_dataset_id.your_table_name - 查看标签:
bq show --format=json your_project_id:your_dataset_id.your_table_name | jq .labels.pipeline_start_date
方案2:使用用户自定义元数据(User-defined Metadata)
适合存储格式更灵活、长度更长的自定义信息,没有标签的字符类型限制。
- 操作命令(bq 工具):
bq update --set_metadata '{"pipeline_start_date": "2024-05-20 08:30:00"}' your_project_id:your_dataset_id.your_table_name - 查看自定义元数据:
bq show --format=json your_project_id:your_dataset_id.your_table_name | jq .metadata
除了bq命令行工具外,你也可以通过BigQuery网页控制台、各语言官方SDK实现同样的元数据更新操作。
以上两种自定义元数据都完全独立于BigQuery系统自带的
last_modified_time等字段,你可以在管道启动时主动更新对应字段值,无需修改表内数据,也不会和系统自动生成的元数据冲突。
内容的提问来源于stack exchange,提问作者kiki
相关产品推荐
相关产品推荐

