2017-02-15 4 views
0

Я загружаю данные из заархивированных плоских файлов в redshift с помощью команды copy, я хотел бы понять, есть ли способ подтвердить, что порядок столбцов файлов правильный? (например, если поля - все varchar, тогда данные могут быть загружены в неправильные столбцы).Можно ли проверять порядок столбцов при загрузке данных из плоских файлов с помощью команды aws copy

В команде copy documentation показано, что вы можете указать порядок столбцов, но не для плоских файлов, но мне было интересно, есть ли какие-либо другие подходы, которые позволят мне проверить, как были поставлены столбцы (например, , загружая только строку заголовка в фиктивную таблицу для проверки, но это не кажется возможным).

+0

что * точно * вы хотите проверить? –

+0

, что порядок столбцов в плоском файле правильный. –

+0

Что вы подразумеваете под этим? вы хотите проверить значение заголовка вашего текстового файла с каждым именем столбца? –

ответ

1

Вы не можете сделать это внутри Redshift. COPY не предоставляет никаких параметров для загрузки только определенного количества строк или выполнения какой-либо проверки.

Ваш лучший вариант - сделать это в инструменте, где вы планируете загрузку. Вы можете получить первую строку из сжатого файла достаточно легко (zcat < file.z|head -1), но для файла на S3 вам, возможно, придется сначала загрузить все.

FWIW, процесс формирования файла нагрузки должен быть полностью автоматизирован таким образом, чтобы порядок столбцов не мог измениться. Если эти файлы подготовлены вручную, вы просите о любых неприятностях.

+0

спасибо за рекомендацию. процессы были согласованы и автоматизированы и т. д., но было бы более комфортно, если бы у нас были проверки на нашей стороне, будет исследовать, можно ли извлечь из почтового индекса без переноса всего файла. –

Смежные вопросы