Google cloud dataflow Apache Beam:DoFn vs PTransform
Google cloud dataflow Apache Beam:DoFn vs PTransform,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,DoFn和p转换都是定义p收集操作的一种方法。我们如何知道何时使用哪个?一个简单的理解方法是通过与列表的map(f)进行类比: 高阶函数map将函数应用于列表的每个元素,返回结果的新列表。你可以称之为计算模式 函数f是应用于每个元素的逻辑 现在,切换到讨论光束的细节,我想你是在问ParDo.of(fn),这是一种p变换 p转换是一种将p集合作为输入并产生p集合作为输出的操作。Beam只有五种基本类型的PTransform,封装了令人尴尬的并行计算模式 ParDo是每元素计算的计算模式。它有
DoFn
和p转换
都是定义p收集操作的一种方法。我们如何知道何时使用哪个?一个简单的理解方法是通过与列表的map(f)
进行类比:
- 高阶函数
map
将函数应用于列表的每个元素,返回结果的新列表。你可以称之为计算模式
- 函数
f
是应用于每个元素的逻辑
现在,切换到讨论光束的细节,我想你是在问ParDo.of(fn)
,这是一种p变换
p转换
是一种将p集合
作为输入并产生p集合
作为输出的操作。Beam只有五种基本类型的PTransform
,封装了令人尴尬的并行计算模式
ParDo
是每元素计算的计算模式。它有一些变化,但是你不需要为这个问题担心
DoFn
,在这里我称之为fn
,是应用于每个元素的逻辑
还可以考虑这样一个事实:您编写了一个DoFn
来说明在每个元素上要做什么,而梁运行器提供了ParDo
来应用您的逻辑