我正在调试这个束管道,我的最终目标是将PCollection中的所有字符串写入文本文件。
我在创建了要检查的PCollection之后设置了一个断点,我一直在尝试创建一个新的管道,
- 在此
output
PCollection中读取作为初始输入 - 将其打印到文件中(使用`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从程序中的变量中读取。