Во входном файле, который мне нужно обработать, есть данные, классифицированные по заголовкам и соответствующим записям. Мой файл размером 200 МБ имеет 3 таких заголовка, а его записи разделены на 4 блока (3 * 64 МБ и 1 * 8 МБ).
Данные будут в формате ниже
HEADER 1
Record 1
Record 2
.
.
Record n
HEADER 2
Record 1
Record 2
.
.
Record n
HEADER 3
Record 1
Record 2
.
.
Record n
Все, что мне нужно, это взять HEADER в качестве ключа и нижележащие Records в качестве значений и обработать некоторые операции в моем коде сопоставления.
Проблема здесь в том, что мои записи разделены на разные блоки. Предположим, что мой первый заголовок и соответствующие ему записи занимают место в 70 МБ, это означает, что он занимает 64 МБ в первом блоке и 6 МБ во втором блоке.
Теперь, как картограф, который работает на 2-м блоке, знает, что 6 МБ файла принадлежат записям ЗАГОЛОВКА 1.
Может ли кто-нибудь объяснить мне, как полностью получить заголовок и его записи.