5
我想了解在哪種情況下我應該使用FlatMap或Map。 The documentation對我來說似乎不太清楚。Apache Beam:FlatMap vs Map?
我仍然不明白在哪種情況下我應該使用FlatMap或Map的轉換。
有人能給我一個例子,所以我可以理解他們的區別嗎?
我明白FlatMap的VS地圖Spark中的差異,但不知道是否有任何相似之處嗎?
我想了解在哪種情況下我應該使用FlatMap或Map。 The documentation對我來說似乎不太清楚。Apache Beam:FlatMap vs Map?
我仍然不明白在哪種情況下我應該使用FlatMap或Map的轉換。
有人能給我一個例子,所以我可以理解他們的區別嗎?
我明白FlatMap的VS地圖Spark中的差異,但不知道是否有任何相似之處嗎?
Beam中的這些轉換和Spark(斯卡拉)完全相同。
甲Map
變換,從N個元素的PCollection
映射成N個元件的另一PCollection
。
甲FlatMap
變換映射的N個元素到零個或多個元件,其然後壓平成單個PCollection
N個集合的PCollections
。
一個簡單的例子,發生以下情況:
beam.Create([1, 2, 3]) | beam.Map(lambda x: [x, 'any'])
# The result is a collection of THREE lists: [[1, 'any'], [2, 'any'], [3, 'any']]
鑑於:
beam.Create([1, 2, 3]) | beam.FlatMap(lambda x: [x, 'any'])
# The lists that are output by the lambda, are then flattened into a
# collection of SIX single elements: [1, 'any', 2, 'any', 3, 'any']
Pablo-明白了。感謝您的詳細解釋和示例。 :) – EmmaYang
您可以接受的答案,如果它是適當的:) – Pablo
優秀解釋+1 – codebrotherone