Apache Beam:读入 PCollection 作为管道的 PBegin
Apache Beam: Reading in PCollection as PBegin for a pipeline
我正在调试这个光束管道,我的最终目标是将 PCollection 中的所有字符串写入一个文本文件。
我在创建要检查的 PCollection 之后设置了一个断点,我一直试图做的是创建一个
的新管道
- 读取此
output
PCollection 作为初始输入
- 将其打印到文件(使用`TextIO.write().to("/Users/my/local/fp"))
我正在为如何将 PCollection 读入作为初始输入而苦苦思索#1。
我一直在尝试的框架:
Pipeline p2 = Pipeline.create();
p2.apply(// READ IN THE PCOLLECTION HERE)
.apply(TextIO.write().to("/Users/my/local/fp")));
p2.run()
如有任何想法或建议,我们将不胜感激
为了将 pcollection 读入输入,您需要从源中读取它。 IE。一些数据存储在 BigQuery、Google Cloud Storage 等中。您可以使用特定的源转换从每个位置读取数据。根据存储数据的位置,您需要使用正确的来源并传入相关参数(即 GCS 路径、BigQuery table)
请看Minimal Word Count Example on the apache beam website (Full source on github)。我建议从这段代码开始并对其进行迭代,直到构建所需的管道。
在此示例中,文件是从 GCS 读取的
p.apply(TextIO.read().from("gs://apache-beam-samples/shakespeare/*"))
另请参阅此 guide on using IOs and also this list of beam IO transforms. If you just want a basic example working, you can use Create.of 以读取程序中的变量。
我正在调试这个光束管道,我的最终目标是将 PCollection 中的所有字符串写入一个文本文件。
我在创建要检查的 PCollection 之后设置了一个断点,我一直试图做的是创建一个
的新管道- 读取此
output
PCollection 作为初始输入 - 将其打印到文件(使用`TextIO.write().to("/Users/my/local/fp"))
我正在为如何将 PCollection 读入作为初始输入而苦苦思索#1。
我一直在尝试的框架:
Pipeline p2 = Pipeline.create();
p2.apply(// READ IN THE PCOLLECTION HERE)
.apply(TextIO.write().to("/Users/my/local/fp")));
p2.run()
如有任何想法或建议,我们将不胜感激
为了将 pcollection 读入输入,您需要从源中读取它。 IE。一些数据存储在 BigQuery、Google Cloud Storage 等中。您可以使用特定的源转换从每个位置读取数据。根据存储数据的位置,您需要使用正确的来源并传入相关参数(即 GCS 路径、BigQuery table)
请看Minimal Word Count Example on the apache beam website (Full source on github)。我建议从这段代码开始并对其进行迭代,直到构建所需的管道。
在此示例中,文件是从 GCS 读取的
p.apply(TextIO.read().from("gs://apache-beam-samples/shakespeare/*"))
另请参阅此 guide on using IOs and also this list of beam IO transforms. If you just want a basic example working, you can use Create.of 以读取程序中的变量。