Как импортировать большой XML-файл (~ 10 ГБ) в PostgreSQL - PullRequest
0 голосов
/ 09 января 2019

У меня есть XML-файл размером около 10 ГБ, я не знаю его содержимого, но хотел бы импортировать его в свою базу данных, чтобы его было легко просматривать.

Как я могу импортировать XML-файл в мою базу данных PostgreSQL? (Возможно ли это даже с таким большим файлом?)

Надеюсь, вы, ребята, можете мне помочь:)

1 Ответ

0 голосов
/ 10 января 2019
  1. Преобразование файла XML в файл CSV. Кроме того, при преобразовании разделите его на части по 100 МБ-1 ГБ для упрощения дозирования.

  2. Создайте таблицу со столбцами, которые вы определили в файле CSV.

  3. Загрузите файл (ы) в Postgres с помощью команды COPY . Это самый быстрый способ загрузить большое количество данных, которые я знаю. Кстати, это можно сделать и с Java, используя CopyManager class.

В зависимости от типа запросов, которые вы будете выполнять, вы можете создавать индексы:

  1. Это будет самая трудоемкая часть. Тем не менее, вы можете использовать СОЗДАТЬ ИНДЕКС одновременно . Это позволит вам работать с таблицей, пока индекс создается в фоновом режиме.

  2. Если вы повторяете процесс импорта и уже создали таблицу и индексы, удалите индексы перед выполнением команды COPY и создайте их позже. Это сэкономит вам много времени.

  3. Если вы все еще недовольны скоростью ваших запросов или скоростью создания индексов, возможно, будет хорошей идеей использовать Clickhouse . Однако это зависит от того, какие запросы вы выполняете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...