Redshift КОПИЯ из пустого раздела S3 - PullRequest
0 голосов
/ 17 июня 2020

Я использую Redshift COPY для каждого раздела S3.

Некоторые разделы существуют, но не имеют файлов (пустые): в AWS консоли пустые разделы отображаются как

date_key=2020-05-28_$folder$

В этом случае команда COPY генерирует ошибку:

error:  The specified S3 prefix 'root/hive/tables/my_table/date_key=2020-06-13/' does not exist

Один из способов обойти это - проверить код, если раздел пуст, и не вызывать COPY.

Но я надеюсь, что есть какой-то флаг для команды COPY (например, MAXERROR), который будет обрабатывать этот случай как обычно и не вызывает ошибки.

Ответы [ 2 ]

0 голосов
/ 10 августа 2020

Нет такого параметра, доступного по умолчанию для параметров копирования в красном смещении, см. Документ ниже из AWS.

https://docs.aws.amazon.com/redshift/latest/dg/r_COPY-alphabetical-parm-list.html

Хотя вы можете используйте для каждого l oop или l oop в красном смещении и обведите список каталогов s3, где есть хотя бы один файл. Список каталогов вы можете передать на l oop, чтобы удалить эту ошибку.

0 голосов
/ 10 августа 2020

Команда копирования не вызывает ошибок, если вы используете путь s3 без файлов в нем. Возможно, вам придется повторно проверить наличие пути s3, который вы указываете в своей команде копирования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...