Apache Beam中的FlatMap和Map

问题描述 投票:3回答:1

Apache Beam中的FlatMap和Map函数是否在并行运行?

(p
      | 'GetJava' >> beam.io.ReadFromText(input)
      | 'GetImports' >> beam.FlatMap(lambda line: startsWith(line, keyword))
      | 'PackageUse' >> beam.FlatMap(lambda line: packageUse(line, keyword))
      | 'TotalUse' >> beam.CombinePerKey(sum)
      | 'Top_5' >> beam.transforms.combiners.Top.Of(5, by_value)
      | 'write' >> beam.io.WriteToText(output_prefix)
   )
python flatmap beam
1个回答
0
投票

管道中的并行化发生在ReadFromText变换之后。该转换将目录分成多个文件,将文件分成段。

每个段在一个工作器中串行处理,因此第一个FlatMap变换的输出将连续地下载到另一个FlatMap中 - 但是您将在每个文件段上运行许多FlatMap+FlatMap实例。

如果这回答了你的问题,请告诉我:)

© www.soinside.com 2019 - 2024. All rights reserved.