我在S3中有一个嵌套的json作为源文件,我正在尝试将此文件复制到redshift中。我的问题如下,
显然,由于我使用的是maxerror,所以复制命令成功执行,但是表中有0条记录。这是我的复制命令
COPY public.table(col1,col2,col3,col4,col5,col6)
from 's3://bucket/filename'
credentials 'redshift'
format as JSON 'jsonpathfile.json'
timeformat 'YYYY-MM-DDTHH:MI:SS'
EMPTYASNULL ACCEPTANYDATE ACCEPTINVCHARS TRUNCATECOLUMNS maxerror 100 ;
如果我检查到stl_load_errors,它会一直说
无效的JSONPath格式:成员不是对象。
这是否意味着复制命令甚至无法找到一个适合jsonpath文件的对象?这绝对是不正确的。我推断了输入文件的架构以设计jsonpath文件。
这里是COPY Examples - Amazon Redshift的示例:
copy category
from 's3://mybucket/category_object_paths.json'
iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole'
json 's3://mybucket/category_jsonpath.json';
jsonpath
文件的路径已完全指定,而您的示例仅引用了文件名。
尝试指定以s3://
开头的完整路径,看看是否有帮助。