1
파이프 라인을 설정했습니다. * .gz 파일을 수백 가지 파싱해야합니다. 따라서 glob은 아주 잘 작동합니다.Apache Beam TextIO glob 원래 파일 가져 오기
그러나 결과 파일을 원본 파일로 지정하고 싶기 때문에 현재 처리중인 파일의 원래 이름이 필요합니다.
아무도 나를 도와 줄 수 있습니까?
여기 내 코드입니다.
@Default.String(LOGS_PATH + "*.gz")
String getInputFile();
void setInputFile(String value);
TextIO.Read read = TextIO.read().withCompressionType(TextIO.CompressionType.GZIP).from(options.getInputFile());
read.getName();
p.apply("ReadLines", read).apply(new CountWords())
.apply(MapElements.via(new FormatAsTextFn()))
.apply("WriteCounts", TextIO.write().to(WordCountOptions.LOGS_PATH + "_" + options.getOutput()));
p.run().waitUntilFinish();
위대한! 감사! 나를 많이 도왔다. –