复制json文件时出现Amazon Redshift错误 - 无效的JSONPath格式:成员不是对象

Asi*_*t M 4 json amazon-redshift

我正在尝试将JSON文件复制到Redshift,但不断收到错误"无效的JSONPath格式:成员不是对象".

问题似乎是因为"["和"]"作为JSON文件中的第一个和最后一个字符的存在.其中的所有其他内容都确认为标准JSON格式.当我修改文件并删除这两个字符时,表加载顺利进行.

该文件是由开发人员直接提供的,我没有影响力说服他改变格式.所以我唯一的选择是以某种方式告诉COPY命令忽略JSON文件开头和结尾的那两个字符.

我感谢小组的任何建议/帮助.

Mil*_*mak 7

COPY命令的问题是它并不真正接受有效的JSON文件.相反,它需要一个JSON每行显示的文档中,但不能明显地提及.

因此,每一行都应该是有效的JSON,但完整的文件不是.


小智 1

到目前为止,Redshift Copy 还没有提供很多 JSON 功能,但是您尝试过使用 JSONPaths 文件吗? http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html#r_COPY_command_examples-copy-from-json

如果这不起作用并且您无法更改源文件格式,请在复制之前添加另一个步骤并使用一些文件转换(如果您使用某些 ETL 工具)或 Linux 函数从文件中删除方括号。