Передать коллекцию в FileIO.match (). Filepattern () - PullRequest
0 голосов
/ 09 июля 2019

У меня есть список 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 у меня есть список URL-адресов, которые я хотел бы передать в XXX

1 Ответ

0 голосов
/ 10 июля 2019

Я полагаю, что вы можете использовать matchAll для чтения PCollection, которая содержит имена файлов.

Из раздела под названием: «Пример: сопоставление PC-коллекции файловых шаблонов, прибывающих из Kafka» в Ссылка на Beam Java doc

 PCollection<String> filepatterns = p.apply(KafkaIO.read()...);

 PCollection<Metadata> matches = filepatterns.apply(FileIO.matchAll()
     .withEmptyMatchTreatment(DISALLOW));

Замена KafkaIO.read() с TextIO.

...