我想从Scala中avro文件的元数据中读取avro模式。我可以用python做,但是我不知道如何在scala中实现相同的功能。以下是相同的python代码:
with open(file_path, 'rb') as f:
file_reader = reader(f)
data = [rec for rec in file_reader]
avro_schema = file_reader.metadata['avro.schema']
avro_schema = ast.literal_eval(avro_schema)
预先感谢
答案 0 :(得分:0)
尝试一下:
import org.apache.avro.file.DataFileReader
import org.apache.avro.generic.{GenericDatumReader, GenericRecord}
val datumReader = new GenericDatumReader[GenericRecord]
val dataFileReader = new DataFileReader[GenericRecord](new File("file.avro"), datumReader)
val schema = dataFileReader.getSchema
希望有帮助