使用空字典作为值将 JSON 文件加载到 BigQuery

fel*_*onc 2 python google-bigquery

我正在将一个以换行符分隔的 JSON 文件从 GCS 上传到 BigQuery。JSON 文件中的某些字段包含值的字典,将这些值放入 BigQuery 中没有问题,因为嵌套字段被分解为单独的列。因此,如果以下示例是 JSON 文件中的一行,则一切正常:

{"dict_field": {"value1": 1, "value2": 2}}

但是,如果文件中的一行有一个空字典作为field_dict的值,如下所示:

{"dict_field": {}}

我收到以下错误消息:

异常:BigQuery 作业失败。最终错误是:{'reason':'invalid','message':“字段'dict_field'不支持空结构类型”} [...]

我浏览了 BigQuery 文档,找不到任何关于空字典作为值的规定限制。有谁知道这个问题是否有解决方法,或者我是否必须在将数据导入 BigQuery 之前手动清理数据?

fel*_*onc 6

正如 @rodvictor 和 @Fcojavmelo 所指出的,目前无法从 JSON 文件加载空字典,尽管 BigQuery 文档中没有明确提及,仅在此问题/功能请求中提及。

总之,必须手动清理数据,并删除任何空字典以避免错误。