Быстрые и простые инструменты / библиотеки для импорта данных - PullRequest
1 голос
/ 02 октября 2011

Я ищу инструменты / библиотеки, которые позволяют быстро (легко) импортировать данные в существующие таблицы базы данных.Например, phpmyadmin позволяет импортировать данные из .csv, .xml и т. Д. В Hadoop Hue через Beesvax для Hive мы можем создать таблицу из файла.Я ищу инструменты, которые я могу использовать с postgresql или библиотеками, которые позволяют делать такие вещи быстро и легко - я ищу способ избежать его ручного кодирования от чтения файла до вставки в db через jdbc.

1 Ответ

1 голос
/ 02 октября 2011

Вы можете делать все это с помощью стандартных инструментов PostgreSQL, без дополнительных библиотек.

Для файлов .csv вы можете использовать встроенную команду COPY . КОПИЯ быстрая и простая. Исходный файл должен лежать на той же машине, что и база данных для этого. Если нет, вы можете использовать очень похожую метакоманду \ copy из psql .

Для .xml файлов (или любого другого формата) вы можете использовать встроенную pg_read_file () внутри plpgsql функции . Однако я цитирую:

Только файлы в каталоге кластера базы данных и директории log_directory. можно получить доступ.

Таким образом, вы должны поместить туда свой исходный файл или создать символическую ссылку на ваш фактический файл / каталог. Затем вы можете разобрать его с помощью unnest () и xpath () и друзей . Для этого вам нужен как минимум PostgreSQL 8.4.

Начало разбора XML в этом сообщении в блоге Скотта Бэйли .

...