Olá, Paola!
Entendo que você quer limitar a quantidade de linhas exibidas quando executa .run() no Apache Beam, semelhante ao que fazemos com o max_rows no pandas. Infelizmente, o Apache Beam não possui uma funcionalidade direta para isso. Mas, você pode criar uma solução alternativa para atingir esse objetivo.
Uma maneira de fazer isso seria usar a transformação beam.combiners.Sample.FixedSizeGlobally()
para pegar uma amostra dos seus dados. Aqui está um exemplo de como você pode fazer isso:
(p
| 'ReadData' >> beam.io.ReadFromText('input.txt')
| 'Sample' >> beam.combiners.Sample.FixedSizeGlobally(10)
| 'Unnest' >> beam.FlatMap(lambda x: x)
| 'Print' >> beam.Map(print))
Neste exemplo, estamos lendo os dados de 'input.txt', pegando uma amostra de 10 elementos e depois imprimindo esses elementos. A transformação beam.FlatMap(lambda x: x)
é usada para "desaninhar" a lista de elementos amostrados para que possam ser impressos corretamente.
Por favor, note que isso não garante a ordem dos elementos, pois o Apache Beam é projetado para processamento de dados distribuídos e desordenados. Se a ordem é importante para você, pode ser necessário considerar uma abordagem diferente.
Espero ter ajudado e bons estudos!