2017-04-27 84 views
1

Dataflow/Apache Beam中的ParDoFlatMap有什麼不同?Apache Beam中的ParDo與FlatMap?

我認爲這兩個函數都適用於傳入的PCollection的每個元素,並返回可迭代;但我想象一定有一些區別?

回答

4

FlatMap是一個更簡單的操作built as you might expect from ParDo。如果這符合您的需求,這是一個不錯的選擇。

ParDo是具有像附加功能逐元素計算的較低級別的構建塊side inputsmultiple output collectionsaccess to the current window,一些非常低的水平的回調之後啓動事務元件的束,以及更多。

實際上,FlatMapParDo的許多用途最終都有一個類似的代碼批量,但在我看來,使用最簡單(最高級別)可用的轉換最具可讀性。

+0

謝謝,很明顯。 儘管FWIW python示例使用帶有側面輸入的'FlatMap':https://beam.apache.org/documentation/programming-guide/。 'ParDo'爲你的建議,但其他人 – Maximilian