Плоская карта и карта в Apache Beam - PullRequest
0 голосов
/ 23 ноября 2018

Работает ли FlatMap и Map в Apache Beam для python параллельно?

(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)
   )

1 Ответ

0 голосов
/ 17 апреля 2019

Распараллеливание в вашем конвейере происходит после преобразования ReadFromText.Это преобразование разделяет каталоги на несколько файлов, а файлы на сегменты.

Каждый сегмент обрабатывается последовательно одним рабочим, поэтому выходные данные вашего первого преобразования FlatMap будут последовательно переходить к другому FlatMap -но у вас будет много экземпляров FlatMap+FlatMap для каждого сегмента файла.

Дайте мне знать, если это ответит на ваш вопрос:)

...