Split CSV в Linux для загрузки в Redshift

У меня есть огромный (5 ТБ) CSV-файл, который мне нужно загрузить в таблицу в AWS Redshift.

Я попытался разделить файл на основе количества строк и размера следующим образом:

split -l 50000000 myCSV.csv myCSV.csv_part_

а также

split -b 1024m myCSV.csv myCSV.csv_part_

после разделения, когда я пытался загрузить их в Redshift, я получаю следующую ошибку:

ERROR: Failed writing body (0 != 16347) Cause: Failed to inflateinvalid or incomplete deflate data. zlib error code: -3

Затем я попытался разделить мой файл с помощью следующей команды, и он успешно загрузился в таблицу в Redshift:

sed -n "1,50000000 p" myCSV.csv > myCSV_part_1.csv

Последний способ сработал, но я должен изменить номера строк и номера деталей, что отнимает много времени и увеличивает вероятность ошибок.

лучше?

Если я пытаюсь загрузить большой кусок, запрос никогда не останавливается.

0 ответов

Другие вопросы по тегам