2017-11-08 20 views
0

스키마 및 파일 경로를 동적으로 전달하여 AvroIO를 사용하여 Apache Beam에서 AVRO 파일을 읽어야합니다. ValueProvider 또는 측면 입력 또는 AvroIO.read에 다른 것을 전달할 수있는 방법이 있습니까?AvroIO 클래스를 사용하여 런타임 값 읽기

PCollection<GenericRecord> records =p.apply(AvroIO.readGenericRecords(dynamicallyProvidedSchema) 
     .from(dynamicallyProvidedFilePath)); 

답변

0

AvroIO.read().from()ValueProvider을 수행 할 수 있습니다 아래

내가 사용하고 코드입니다. 동적으로 제공되는 스키마의 경우 Beam 2.2 (현재 릴리스 진행 중임)에는 AvroIO.parseGenericRecords()이 포함되어 있으므로 스키마를 지정하지 않고도 GenericRecord에서 사용자 정의 유형까지 함수를 지정하면됩니다.