在Apache Beam中,“ExtractWords”有什么作用?

时间:2018-03-02 10:36:34

标签: apache-beam

我正在研究此URL的Python语法:

https://beam.apache.org/get-started/wordcount-example/#applying-pipeline-transforms

我看到了这种语法:

# The Flatmap transform is a simplified version of ParDo.
| 'ExtractWords' >> beam.FlatMap(lambda x: re.findall(r'[A-Za-z\']+', x))

什么是'ExtractWords'?

它是beam API中函数的名称吗?

是评论吗?

它所在的行是否有某种注释?

为什么'ExtractWords'在那里?

1 个答案:

答案 0 :(得分:1)

它是您管道中此特定转换的人类可读唯一标签。它没有任何意义。它可以是任何字符串,它用于调试信息(例如,如果转换失败,显示它是哪一个),用于在UI中显示(例如在数据流UI中),用于将旧结构与新结构对齐执行管道更新等时的管道

E.g:

p | 'Read click logs' >> beam.ReadFromText(...)
  | 'Analyze user statistics' >> ...
  | 'Write statistics to my favorite BigQuery table' >> beam.io.WriteToBigQuery(...)