Вариант использования: мне нужно фильтровать файлы на основе lastModifiedTime с использованием луча Apache (Java)
Мой код:
PCollection<String> readfile = pipeline
.apply(FileIO.match().filepattern(path)
.continuously(Duration.standardSeconds(30), Watch.Growth.never()))
.setCoder(MetadataCoderV2.of())
.apply(Filter.by(metadata -> {
System.out.println("metadata: " + metadata.toString());
return (metadata.lastModifiedMillis()) > current;}))
.apply(FileIO.readMatches())
.apply(TextIO.readFiles());
Проблема: несмотря на то, что я использую кодер MetadataCoderV2, получаю значение по умолчанию (0) для metadata.lastModifiedMillis(), как показано ниже.
Metadata{resourceId="fileName", sizeBytes=108, isReadSeekEfficient=true, lastModifiedMillis=0}
может кто подскажет как решить эту проблему.
MapElements.via
(beam.apache.org/documentation/transforms/java/elementwise/) через собственный API Java: stackoverflow.com/questions/4363197/ - person 大ドア東   schedule 06.04.2021