Сплит 30 ГБ XML файла для небольших фрагментов XML

У меня большой дамп данных Stackoverflow в XML файле. Мне нужно разбить файл на небольшие фрагменты XML файлов размером около 500 МБ каждый. Пожалуйста, предоставьте несколько предложений

1 ответ

В зависимости от ваших потребностей вы можете использовать утилиту split Unix. Тем не менее, он не будет знать о ваших границах элементов.

Если вам нужно сделать это с поддержкой XML, здесь приведена статья, описывающая другой подход, посредством потоковой передачи XML. По совпадению это описывает разбиение 30 ГБ XML файла:

http://java.dzone.com/articles/splitting-large-xml-files-java

EDIT: Майкл Кей отмечает в комментарии ниже (я думаю, он не может добавить ответ, так как вопрос закрыт), что XSLT 3.0 добавляет поддержку потоковой передачи, что позволяет обрабатывать огромные файлы, не имея всего в памяти. Хотя XSLT 3.0 в то время, когда я пишу черновик, продукт Saxon-EE (который является коммерческим) поддерживает почти все спецификации проекта.

licensed under cc by-sa 3.0 with attribution.