我正在尝试将嵌套字段添加到我的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.
如何添加嵌套字段?
使用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