我正在将换行符分隔的 JSON 文件从 GCS 上传到 BigQuery。 JSON 文件中有一些字段包含值的字典,我可以毫无问题地将这些值导入 BigQuery,因为嵌套字段被分解为单独的列。因此,如果以下示例是 JSON 文件中的一行,则一切正常:
{"dict_field": {"value1": 1, "value2": 2}}
但是,如果文件中的一行有一个空字典作为 field_dict 的值,如下所示:
{"dict_field": {}}
我收到以下错误消息:
Exception: BigQuery job failed. Final error was: {'reason': 'invalid', 'message': "Unsupported empty struct type for field 'dict_field'"} [...]
我查看了 BigQuery 文档,没有找到关于将空字典作为值的任何规定限制。有谁知道这个问题是否有解决方法,或者我是否必须在将数据导入 BigQuery 之前手动清理数据?
最佳答案
正如@rodvictor 和@Fcojavmelo 所指出的,从 JSON 文件加载空字典目前是不可能的,尽管它在 BigQuery 文档的任何地方都没有明确提及,仅在此 issue/feature request 中提及。 .
总之,必须手动清理数据,并删除所有空字典以避免错误。
关于python - 以空字典作为值将 JSON 文件加载到 BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65904130/