Apache Beam:DoFn与PTransform

dat*_*ser 12 google-cloud-dataflow apache-beam

二者DoFnPTransform是定义操作的装置PCollection.我们怎么知道何时使用?

Ken*_*les 17

理解它的一种简单方法是与map(f)列表类比:

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

现在,切换到谈论Beam特定,我想你在问ParDo.of(fn),这是一个PTransform.

  • A PTransform是一个以PCollections输入和PCollections输出为输出的操作.Beam只有五种原始类型PTransform,封装了令人尴尬的并行计算模式.
  • ParDo是每元素计算的计算模式.它有一些变化,但你不需要担心这个问题.
  • DoFn,在这里我称它fn是,被施加到每个元件的逻辑.

你可能还会想到这样一个事实:写了一个DoFn说明如何对每个元素做什么,而Beam运行器提供了ParDo应用你的逻辑.