Предположим, что порядок группировки не важен, вы можете просто сгруппировать внутри
аюсь сделать что-то вроде этого:Пакетная сборка ПК в Beam / Dataflow
Ответ в приведенной выше ссылке на Java, а язык, с которым я работаю - Python. Таким образом, мне нужна помощь в получении подобной конструкции.
Конкретно у меня есть это:
p = beam.Pipeline (options = pipeline_options)
lines = p | 'File reading' >> ReadFromText (known_args.input)
После этого мне нужно создать еще одинPCollection
но сList
из N строк «строк», так как мой вариант использования требует группу строк. Я не могу работать построчно.
Я попробовалParDo
Функция, использующая переменные для счетчика, связывающего со счетчиком N строк и послеgroupBy
с помощьюMap
, Но они сбрасываются каждые 1000 записей, так что это не то решение, которое я ищу. Я прочитал пример в ссылке, но я не знаю, как сделать что-то подобное в Python.
Я попытался сохранить счетчики в Datastore, однако разница в скорости чтения и записи потока данных с помощью Datastore довольно значительна.
Как правильно это сделать? Я не знаю, как еще подойти к нему. С уважением.