Я загружаю довольно гигантский файл в базу данных postgresql. Для этого я сначала использую split
файл, чтобы получить файлы меньшего размера (30 ГБ каждый), а затем загружаю каждый файл меньшего размера в базу данных, используя GNU Parallel
и psql copy
.
Проблема в том, что для разделения файла требуется около 7 часов, а затем он начинает загружать файл на ядро. Мне нужен способ заставить split
имя файла выводить на вывод std каждый раз, когда он заканчивает запись файла, поэтому я могу передать его по конвейеру, Parallel
и он начинает загружать файлы в тот момент, когда он split
заканчивает писать. Что-то вроде этого:
split -l 50000000 2011.psv carga/2011_ | parallel ./carga_postgres.sh {}
Я прочитал split
справочные страницы и ничего не могу найти. Есть ли способ сделать это с помощью split
какого-либо другого инструмента?