请问beam中的“p”是什么?

What is the " p " in beam please?

我在光束管道的开头看到这个“p |”,但我不明白这个 p 是什么意思。

本介绍教程中的 Beam 管道示例代码:https://beam.apache.org/documentation/sdks/python-streaming/

lines = p | 'read' >> ReadFromText(known_args.input)
 ​...

 ​counts = (lines
           ​| 'split' >> (beam.ParDo(WordExtractingDoFn())
                         ​.with_output_types(six.text_type))
           ​| 'pair_with_one' >> beam.Map(lambda x: (x, 1))
           ​| 'group' >> beam.GroupByKey()
           ​| 'count' >> beam.Map(count_ones))
 ​...

 ​output = counts | 'format' >> beam.Map(format_result)

 ​# Write the output using a "Write" transform that has side effects.
 ​output | 'write' >> WriteToText(known_args.output)

我的理解:

我了解 p-collection、p-transforms 的概念以及 beam 的目标,即以相同的方式处理流式数据和批处理数据。

不明白的地方:

这是什么p?括号是做什么用的?管道? >> ? 它看起来像 bash 样式代码,但没有解释。

请问有人有解释或 link 从头开始​​的实际教程吗?

p 是启动管道的变量 (p = beam.Pipeline()),也称为 PBegin

|分隔每个PTransform(操作)。

>> 是在 |PTransform 之间使用,以防您想命名它。

有括号所以 Python 不会抱怨多行。

GCP 中有一组教程,从最基础的开始,每个“章节”都有练习。它们是笔记本。要获取它们,您需要转到“Dataflow > Notebooks > Create Instance”,然后“打开 Jupyterlab Notebook”,并且应该有一个名为 Tutorials 的文件夹。免责声明,您需要为实例小时数付费,而我是添加它们的团队的一员。

还有一个叫做 Katas 的东西,它是免费的,但我还没有彻底研究它,所以不确定他们是否从头开始。

在本教程中可以找到很好的介绍:

https://beam.apache.org/documentation/programming-guide/