Apache Beam:在PCollection中读取管道的PBegin



我正在调试这个束管道,我的最终目标是将PCollection中的所有字符串写入文本文件。

我在创建了要检查的PCollection之后设置了一个断点,我一直在尝试创建一个新的管道,

  1. 在此outputPCollection中读取作为初始输入
  2. 将其打印到文件中(使用`TextIO.write((.to("/Users/my/local/fp"((

我正在努力解决如何在PCollection中读取作为初始输入的问题。

我一直在尝试的骨架:

Pipeline p2 = Pipeline.create();
p2.apply(// READ IN THE PCOLLECTION HERE)
.apply(TextIO.write().to("/Users/my/local/fp")));
p2.run()

如有任何想法或建议,将不胜感激

为了将pcollection读取到输入中,您需要从源中读取它。例如,存储在BigQuery、Google Cloud Storage等中的一些数据。您可以使用特定的源转换从每个位置读取。根据您存储数据的位置,您需要使用正确的来源并输入相关参数(即GCS路径、BigQuery表(

请看一下apachebeam网站上的最小字数示例(github上的完整源代码(。我建议从这段代码开始,并对其进行迭代,直到构建出所需的管道。

在本例中,从GCS 读取文件

p.apply(TextIO.read().from("gs://apache-beam-samples/shakespeare/*"))

另请参阅本使用IO的指南以及波束IO转换的列表。如果你只想让一个基本的例子发挥作用,你可以使用Create.of从程序中的变量中读取。

最新更新