在 Apache Beam 中为 PCollection 的元素创建属性
Creating attributes for elements of a PCollection in Apache Beam
我是 Apache Beam 的新手,想知道是否可以为 PCollection 中的元素创建自己的属性。
我浏览了文档,但找不到任何东西。
this ParDo doc 中的示例 2 显示了如何访问 TimestampParam
和 WindowParam
,据我所知,它们是 PCollection 中每个元素的属性:
class AnalyzeElement(beam.DoFn):
def process(
self,
elem,
timestamp=beam.DoFn.TimestampParam,
window=beam.DoFn.WindowParam):
yield [...]
所以我的问题是,是否可以为 PCollection 中的元素创建此类属性(例如 TablenameParam),如果不能,是否有某种变通方法可以实现?
您所描述的只是元素的一部分。对于您的示例,TablenameParam
将是您添加到 PCollection 的类型的字段。
WindowParam
和 TimestampParam
被不同对待的原因是它们经常隐式传播,并且是 every 的 Beam 模型的一部分元素与实际数据无关。大多数只对主要数据进行操作的代码不需要触及它们。
我是 Apache Beam 的新手,想知道是否可以为 PCollection 中的元素创建自己的属性。 我浏览了文档,但找不到任何东西。
this ParDo doc 中的示例 2 显示了如何访问 TimestampParam
和 WindowParam
,据我所知,它们是 PCollection 中每个元素的属性:
class AnalyzeElement(beam.DoFn):
def process(
self,
elem,
timestamp=beam.DoFn.TimestampParam,
window=beam.DoFn.WindowParam):
yield [...]
所以我的问题是,是否可以为 PCollection 中的元素创建此类属性(例如 TablenameParam),如果不能,是否有某种变通方法可以实现?
您所描述的只是元素的一部分。对于您的示例,TablenameParam
将是您添加到 PCollection 的类型的字段。
WindowParam
和 TimestampParam
被不同对待的原因是它们经常隐式传播,并且是 every 的 Beam 模型的一部分元素与实际数据无关。大多数只对主要数据进行操作的代码不需要触及它们。