【发布时间】:2020-03-05 00:45:18
【问题描述】:
我在 S3 中有一个嵌套的 json 作为我的源文件,我正在尝试将此文件复制到 redshift。 我的问题如下,
- 我使用 MAXERROR - 我需要跳过某些错误,因为源文件在某些情况下缺少某些字段并且在其他情况下包含它们
- 我使用 JSONPATH 文件 - 选择需要复制到 redshift 的字段
- 表中的所有列都是varchar
显然,由于我使用的是 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文件。
【问题讨论】: