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