У меня есть текстовые файлы, содержащие структурированные данные (это проприетарный формат, а не что-то простое или распространенное, например, CSV). Я пытаюсь поместить эти данные в базу данных. Размер текстовых файлов составляет 50 ГБ, поэтому я не могу прочитать весь файл в памяти, извлечь его в массив и затем обработать в базе данных.
Текстовые файлы структурированы таким образом, что данные о конкретном «элементе» (конкретном идентификаторе в базе данных) могут содержать несколько строк (новых строк) информации в текстовом файле. Элементы в текстовом файле всегда начинаются со строки, которая начинается с '01' и может иметь бесконечное количество дополнительных строк (все одна за другой), которые будут начинаться с 02 или 03 ... до 08. Новый пункт начинается, когда новая строка начинается с 01.
01some_data_about_the_first_item
02some_more_data_about_the_first_item
05more_data_about_the_first_item
01the_first_line_of_the_second_item
Я бы хотел использовать PHP для обработки этих данных.
Как я могу загрузить часть этого текстового файла в память, где я могу проанализировать его, получить все строки для элемента и затем обработать его? Есть ли способ загрузить все строки до следующей строки, которая начинается с 01, обработать эти данные, а затем начать следующее сканирование текстового файла в конце последнего сканирования?
Обработка данных, как только я загрузил их в память, не является проблемой.