我正在尝试向 BigQuery 现有表添加新列。我尝试过 bq 命令工具和 API 方法。调用 Tables.update() 时出现以下错误。
我尝试过提供带有附加字段的完整架构,这也给了我相同的错误,如下所示。
使用 API 我收到以下错误:
{
"schema": {
"fields": [{
"name": "added_column",
"type": "integer",
"mode": "nullable"
}]
}
}
{
"error": {
"errors": [{
"domain": "global",
"reason": "invalid",
"message": "Provided Schema does not match Table [blah]"
}],
"code": 400,
"message": "Provided Schema does not match Table [blah]"
}
}
使用 BQ 工具我收到以下错误:
./bq update -t blah added_column:integer
更新操作中的 BigQuery 错误:提供的架构与表不匹配 [blah]
尝试这个:
bq --format=prettyjson show yourdataset.yourtable > table.json
编辑 table.json 并删除除“fields”内部之外的所有内容(例如保留[ { "name": "x" ... }, ... ]
)。然后将新字段添加到架构中。
或者通过管道jq https://stedolan.github.io/jq/
bq --format=prettyjson show yourdataset.yourtable | jq .schema.fields > table.json
然后运行:
bq update yourdataset.yourtable table.json
你可以加--apilog=apilog.txt
到命令行的开头,它将准确显示从 bigquery 服务器发送/返回的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)