Cómo crear grupos de elementos N desde una PCollection Apache Beam Python

Estoy tratando de lograr algo como esto:Batch PCollection en Beam / Dataflow

La respuesta en el enlace anterior está en Java, mientras que el lenguaje con el que estoy trabajando es Python. Por lo tanto, necesito ayuda para obtener una construcción similar.

Específicamente tengo esto:

 p = beam.Pipeline (options = pipeline_options)
 lines = p | 'File reading' >> ReadFromText (known_args.input)

Después de esto, necesito crear otroPCollection pero con unList de N filas de "líneas" ya que mi caso de uso requiere un grupo de filas. No puedo operar línea por línea.

Probé unParDo Función que utiliza variables para el recuento asociado con el contador N filas y despuésgroupBy utilizandoMap. Pero estos se restablecen cada 1000 registros, por lo que no es la solución que estoy buscando. Leí el ejemplo en el enlace, pero no sé cómo hacer algo así en Python.

Intenté guardar los contadores en Datastore, sin embargo, la diferencia de velocidad entre la lectura y la escritura de Dataflow con Datastore es bastante significativa.

¿Cuál es la forma correcta de hacer esto? No sé cómo más abordarlo. Saludos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta