Игнорировать все недействительные записи при копировании данных из s3 в красное смещение - PullRequest
0 голосов
/ 21 февраля 2019

Я копирую миллиарды записей из s3 (несколько файлов) в таблицу красного смещения, где есть недопустимые записи.Я хочу игнорировать все недействительные записи при копировании данных из s3 в красное смещение.Но когда я проверяю «MAXERROR», предел равен «100000».Но в моем случае общее количество недопустимых записей превышает «100000».Есть ли способ игнорировать все недействительные записи при копировании данных в таблицу красного смещения?

Но в моем случае недопустимые записи для каждого файла s3 не будут больше, чем "100000".Если я сконфигурирую «MAXERROR» для каждого файла, я смогу решить эту проблему, но я не нашел никаких ссылок для этого?

Можно ли настроить «MAXERROR» для каждого файла?Если нет, есть ли другой альтернативный способ решения этой проблемы?

1 Ответ

0 голосов
/ 22 февраля 2019

MAXERROR проверяется для каждой команды копирования, и из-за параллельного характера Amazon Redshift позволяет параллельно обрабатывать несколько файлов S3 для более быстрой загрузки, но все узлы копирования совместно используют одноэлементное значение MAXERROR асинхронно.Конечно, при параллельной работе возможна несогласованность, и поэтому в руководстве AWS говорится, что для фактического ERROR_COUNT может превышать значение, превышающее MAXERROR.

Фактическое число зарегистрированных ошибок может быть больше указанногоMAXERROR из-за параллельной природы Amazon Redshift.Если какой-либо узел в кластере Amazon Redshift обнаруживает превышение MAXERROR, каждый узел сообщает обо всех обнаруженных ошибках.

TLDR; Чтобы ответить на ваш вопроскороче говоря: нет, вы не можете определить MAXERROR для файла S3.
Но для достижения желаемого желаемого результата вы можете разбить нагрузку на несколько команд копирования и обрабатывать меньшие порции файлов S3 одновременно на key_prefix.

...