Apache Beam (python) 中的重定向是什么意思

Yu *_*abe 5 python apache-beam

在 apache beam python sdk 中,我经常在管道过程中看到“>>”运算符。

https://beam.apache.org/documentation/programming-guide/#pipeline-io

lines = p | 'ReadFromText' >> beam.io.ReadFromText('path/to/input-*.csv')
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

And*_*nly 5

>>是 Python 中正确的按位移位运算符。等效的 dunder(双下划线)方法是__rrshift__().

Apache Beam 在 Python 中的实现只是__rrshift__()PTransform类重新定义,以便可以将名称添加到转换中。这只是特殊的语法。在您的示例中,“ReadFromText”是转换的名称。

参考:https : //github.com/apache/beam/blob/master/sdks/python/apache_beam/transforms/ptransform.py#L445