每天早上,自 Action 业都会从 Avro 文件创建一个新表。下午,我需要通过查询将一些数据附加到该表中。
当尝试这样做时,我收到以下错误:
Error: Invalid schema update. Field chn has changed mode from REQUIRED to NULLABLE
我注意到我可以在 BigQuery Web UI 中将字段 chn
的属性从 REQUIRED
更改为 NULLABLE
,然后它就可以正常工作,但我必须每天手动执行此操作,这不是我想要的。
有没有办法在追加查询期间将字段“转换”为REQUIRED
?
或者在第一次从 Avro 文件导入期间,强制字段为 NULLABLE
而不是 REQUIRED
?
谢谢!
最佳答案
允许在查询或加载作业中放松字段的功能很快就会在生产中提供。当它上线时(可能在一周内)我会更新这个答案。
更新:2016 年 8 月 25 日
您可以在加载或查询作业配置中提供 schemaUpdateOptions。 可以提供多个选项。 它允许更新目标表的架构,作为加载或查询作业的副作用。在两种情况下支持架构更新选项:
WRITE_APPEND
WRITE_TRUNCATE
将始终覆盖架构。 支持以下值:
ALLOW_FIELD_ADDITION
:允许向架构添加可为空的字段ALLOW_FIELD_RELAXATION
:允许将原始架构中的必填字段放宽为可为空注意:目前这不适用于架构自动检测。我们计划很快提供支持。
关于google-bigquery - 将数据附加到通过 BigQuery 中的 Avro 文件创建的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38999897/