Bigquery:无效:非法模式更新
Posted
技术标签:
【中文标题】Bigquery:无效:非法模式更新【英文标题】:Bigquery: invalid: Illegal Schema update 【发布时间】:2014-09-17 14:11:27 【问题描述】:我尝试将查询中的数据附加到 bigquery 表中。
作业 ID job_i9DOuqwZw4ZR2d509kOMaEUVm1Y
错误:写入 Bigquery 时作业失败。无效:非法模式更新。无法在 null 处添加字段(字段:debug_data)
我复制并粘贴上面 jon 中执行的查询,在 web 控制台中运行它并选择要附加的相同 dest 表,它可以工作。
【问题讨论】:
【参考方案1】:您列出的作业正在尝试将查询结果附加到表中。该查询有一个名为“debug_data”的字段。您要附加到的表没有该字段。此行为是设计使然,以防止人们意外修改其表的架构。
您可以运行 tables.update() 或 tables.patch() 操作来修改表架构以添加此列(请参阅此处使用 bq 的示例:Bigquery add columns to table schema),然后您将能够运行此查询成功。
或者,您可以在查询作业中使用 truncate 而不是 append 作为写入配置;这将覆盖表,并且这样做会允许架构更改。
【讨论】:
【参考方案2】:请参阅this post,了解如何让 bigquery 在执行追加时自动将新字段添加到架构中。
python中的代码是:
job_config.schema_update_options = ['ALLOW_FIELD_ADDITION']
【讨论】:
以上是关于Bigquery:无效:非法模式更新的主要内容,如果未能解决你的问题,请参考以下文章
Dataproc + BigQuery 示例 - 有可用的吗?
Google Cloud Dataproc 删除 BigQuery 表不起作用
AppEngine BigQuery PHP 库在运行时不隐含?