我有一个包含通配符的 URL 列表,如何将其传递给 FileIO.match().filepattern(XXXX)
这是代码
PCollectionTuple decompressOut =
pipeline
.apply(TextIO.read("dict.txt"))
.apply("MatchFile(s)", FileIO.match().filepattern())
.apply(
"DecompressFile(s)",
ParDo.of(new Decompress(options.getOutputDirectory()))
.withOutputTags(
DECOMPRESS_MAIN_OUT_TAG,
TupleTagList.of(DEADLETTER_TAG)));
在 dict.txt 中,我有要传递给 XXX 的 URL 列表
最佳答案
我相信您可以使用 matchAll 来读取包含文件名的 PCollection。
摘自 Link to Beam Java doc 中标题为“示例:匹配来自 Kafka 的文件模式的 PCollection”部分
PCollection<String> filepatterns = p.apply(KafkaIO.read()...);
PCollection<Metadata> matches = filepatterns.apply(FileIO.matchAll()
.withEmptyMatchTreatment(DISALLOW));
用 TextIO 替换 KafkaIO.read()。
关于java - 将集合传递给 FileIO.match().filepattern(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56956986/