У меня есть файл размером 8 ГБ с текстовыми строками (каждая строка имеет возврат каретки) в S3. Этот файл отформатирован пользователем и НЕ соответствует никакому распространенному формату, например CSV, pipe, JSON ... Мне нужно разбить этот файл на файлы меньшего размера в зависимости от количества строк, так что каждый файл будет содержать 100000 строк или меньше ( предполагая, что последний файл может иметь остаток строк и, следовательно, может содержать менее 100000 строк).
- Мне нужен метод, который основан не на размере файла (т.е. байтах), а на количестве линий. Файлы не могут иметь одну строку, разделенную на две части.
- Мне нужно использовать Python.
- Мне нужно использовать AWS службу без сервера, такую как Lambda, Glue .. . Я не могу раскручивать экземпляры, такие как EC2 или EMR.
До сих пор я нашел много сообщений, показывающих, как разбивать по размеру байтов, а не по количеству строк. Кроме того, я не хочу читать этот файл построчно, так как он будет слишком медленным и неэффективным. 1011
Я ищу все возможные варианты, пока выполняются базовые c требования, указанные выше ...
БОЛЬШОЕ спасибо!
Майкл