У меня есть вложенный json в качестве исходного файла в S3, и я пытаюсь скопировать этот файл в красное смещение. У меня следующие проблемы:
- Я использую MAXERROR - мне нужно пропустить определенные ошибки, потому что в исходном файле в некоторых случаях отсутствуют определенные поля, а в других
- I использовать файл JSONPATH - чтобы выбрать поля, которые мне нужно скопировать в красное смещение
- Все столбцы в таблице 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: Member не является объектом.
Означает ли это, что команда copy не может найти даже один объект, который соответствует файлу jsonpath? Что определенно не соответствует действительности. Я разработал схему входного файла для разработки файла jsonpath.