Apache Beam:DoFn与PTransform

时间:2017-12-08 01:57:20

标签: google-cloud-dataflow apache-beam

DoFnPTransform都是为PCollection定义操作的方法。我们怎么知道何时使用?

1 个答案:

答案 0 :(得分:12)

理解它的一种简单方法是使用map(f)来表示列表:

  • 高阶函数map将函数应用于列表的每个元素,返回结果的新列表。你可以称之为计算模式。
  • 函数f是应用于每个元素的逻辑。

现在,转而谈谈Beam特定内容,我想你问的是ParDo.of(fn),这是一个PTransform

  • PTransform是一项以PCollections作为输入并将PCollections作为输出的操作。 Beam只有五种基本类型PTransform,封装了令人尴尬的并行计算模式。
  • ParDo是每元素计算的计算模式。它有一些变化,但你不需要担心这个问题。
  • DoFn,我称之为fn,是应用于每个元素的逻辑。

考虑到写一个DoFn来说明要对每个元素做什么,并且Beam runner提供ParDo来应用它也可能有所帮助你的逻辑。