Сегодня разберемся как максимально быстро загрузить данные в Postgresql при помощи PDI. Это делается при помощи шага "PostgreSQL Bulk Loader". В статье разберем тонкости настройки вставки данных и сравним скорости вставки обычным методом и Bulk Loader.
Сам шаг «PostgreSQL Bulk Loader» требует указания пути до psql. Вот тут и начинаются проблемы с кодировкой. В источнике файл может иметь кодировку отличную от кодировки Postgresql. Основные проблемы:
Имеем следующее:
Требуется привести все к кодировке UTF-8 и вставить в Postgresql.
Решение:
Более подробно в видео. (Загрузка/Download)
План видео (ссылка на youtube https://youtu.be/eAww-CzyQvs)
00:00 Введение
00:47 Загрузка файла с в кодировке CP-1251
02:26 Перекодирование потока данных.
03:35 Изменение кодировки в PDI. "-Dfile.encoding=UTF-8"
04:13 Вставка данных и замеры скорости.
06:56 Выводы
Выигрыш в скорости. Вставка данных обычным способом происходит в районе 20 000 строк в секунду. По сети вставка при помощи "PostgreSQL Bulk Loader" достигает 40 000 строк в секунду. А при вставке данных на localhost более 120 000. Получаем прирост в скорости от 2 до 6 раз.
Ссылки на материалы: