我正在尝试向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]"
}
}
Run Code Online (Sandbox Code Playgroud)
使用BQ工具,我收到以下错误:
./bq update -t blah added_column:integer
Run Code Online (Sandbox Code Playgroud)
更新操作中的BigQuery错误:提供的架构与表[blah]不匹配
Jor*_*ani 42
试试这个:
bq --format=prettyjson show yourdataset.yourtable > table.json
Run Code Online (Sandbox Code Playgroud)
编辑table.json并删除除"fields"内部之外的所有内容(例如保留[ { "name": "x" ... }, ... ]).然后将新字段添加到架构中.
或通过jq管道
bq --format=prettyjson show yourdataset.yourtable | jq .schema.fields > table.json
Run Code Online (Sandbox Code Playgroud)
然后运行:
bq update yourdataset.yourtable table.json
Run Code Online (Sandbox Code Playgroud)
您可以添加--apilog=apilog.txt到命令行的开头,该命令行将准确显示从bigquery服务器发送/返回的内容.
| 归档时间: |
|
| 查看次数: |
14462 次 |
| 最近记录: |