У меня есть один XML файл размером 60-80 ГБ. Поскольку размер файла огромен для обработки за один go, что, в свою очередь, займет много времени, я думаю обработать этот файл порциями и распределенным способом. Логика разделения c из xml определяется ниже. Обратите внимание, что я буду обрабатывать этот файл из файла потока NiFi.
Оригинал XML.
<Tag1>
<Tag2>
<PullThisTag id=1>
<Attrib1>slhfhdsf</Attrib1>
</PullThisTag>
<PullThisTag id=2>
<Attrib1>slhfhdsf</Attrib1>
</PullThisTag>
<PullThisTag id=3>
<Attrib1>slhfhdsf</Attrib1>
</PullThisTag>
..
..
..
1000s of similar pull tags
</Tag2>
</Tag1>
Теперь я хочу извлечь только шаблон открывающего тега, например
Итак, файл1 содержит:
<PullThisTag id=1>
<Attrib1>slhfhdsf</Attrib1>
</PullThisTag>
Файл 2 содержит:
<PullThisTag id=2>
<Attrib1>slhfhdsf</Attrib1>
</PullThisTag>
И файл 3 содержит:
<PullThisTag id=3>
<Attrib1>slhfhdsf</Attrib1>
</PullThisTag>
И таких тегов насчитывается 1000 с. и должен быть разбит только на n файлов, где 2 <= n <= 5 </p>