使用AvroIO类读取运行时值

时间:2017-11-08 14:32:41

标签: apache-beam dataflow

我需要通过动态传递架构和文件路径,使用AvroIO在Apache Beam中读取AVRO文件。有没有办法可以将ValueProvider或侧输入或其他任何内容传递给AvroIO.read。

以下是我正在使用的代码:

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

1 个答案:

答案 0 :(得分:0)

AvroIO.read().from()可以ValueProvider。对于动态提供的架构,Beam 2.2(当前正在发布)包含AvroIO.parseGenericRecords(),可以让您完全避免指定架构,只需指定从GenericRecord到自定义类型的函数。