我们可以在ParDo函数内部编写ParDo函数吗?

时间:2018-06-28 00:28:37

标签: google-cloud-platform google-cloud-dataflow apache-beam

例如,我有一个URL列表作为字符串存储在数据存储区中。 因此,我使用了DatastoreIO函数并将其读取到PCollection中。在ParDo的DoFn中,对于每个URL(文件的GCP云存储位置),我必须读取该位置中存在的文件并进行进一步的转换。

所以我想知道是否可以在ParDo函数内为PCollections编写ParDo。每种文件转换都可以并行执行,然后将KV(键,PCollection)发送给第一个ParDo函数的输出。

对不起,如果我没有清楚地说明我的情况。我是Apache Beam和Google Dataflow的新手

1 个答案:

答案 0 :(得分:2)

您想要的是TextIO#readAll()

PCollection<String> urls = pipeline.apply(DatastoreIO.read(...))
PCollection<String> lines = urls.apply(TextIO.readAll())