2017-12-31 136 views
2

사용 GCS에서 읽을 때 처리되는 파일 이름을 얻을 수 어쨌든 거기 :데이터 흐름에서 GCS를 읽을 때 처리되는 파일 이름을 얻는 방법은 무엇입니까?

p.apply을 (., TextIO.read() "를 GCS에서 읽기"(에서 "GS : // 경로/*")) .

출력을 적절한 테이블에 저장하려면 다음 ParDo에 파일 이름이 필요합니다.

이 질문은 How to Get Filename when using file pattern match in google-cloud-dataflow과 비슷하지만 마지막 업데이트는 1 년이 넘었으므로이를 가능하게하는 새로운 기능이 있는지 궁금합니다.

답변

1

TextIO 그 자체로는이 작업을 수행 할 수 없지만, 빔 2.2에는 파일을 읽을 때 원하는대로 사용자 정의 할 수있는 변환이 포함되어 있습니다 (FileIO.match(), FileIO.readMatches()). this answer을 참조하십시오. 그 대답에 나와있는 것처럼 일반 자바 기능을 사용하여 텍스트 파일을 구문 분석하고 ReadableFilegetMetadata()을 사용하여 파일 이름을 가져 오는 DoFn<ReadableFile, String>을 사용해야합니다.