如何将嵌套字段添加到我的 BigQuery 表架构?
Posted
技术标签:
【中文标题】如何将嵌套字段添加到我的 BigQuery 表架构?【英文标题】:How do I add a nested field to my BigQuery table schema? 【发布时间】:2017-01-13 15:40:35 【问题描述】:我正在尝试向我的 BigQuery 表架构添加一个嵌套字段。我通常可以通过 Web UI 或命令行执行此操作,但是当我尝试使用嵌套字段时,我收到以下错误,因为新字段名称中包含 .
:
Error updating schema: Fields must contain only letters, numbers, and underscores, start with a letter or underscore, and be at most 128 characters long.
如何添加嵌套字段?
【问题讨论】:
【参考方案1】:使用bq
命令行工具,首先导出表的架构:
bq show --format=prettyjson your-project:your_dataset.table_to_update | python -c 'import sys,json; print(json.dumps(json.load(sys.stdin)["schema"]["fields"]))' > table_schema.json
然后手动将新的嵌套字段添加到 JSON。添加后,将更新后的架构推送到 BigQuery:
bq update -t --schema='updated_table_schema.json' your-project:your_dataset.table_to_update
【讨论】:
完美!谢谢。它一开始没有用,因为它引发了No JSON object could be decoded
。但是我手动编辑了架构以仅获取字段并且它有效。
写入时启用SchemaUpdateOption.ALLOW_FIELD_ADDITION
是否可以自动添加可为空的嵌套字段?以上是关于如何将嵌套字段添加到我的 BigQuery 表架构?的主要内容,如果未能解决你的问题,请参考以下文章