Как читать метаданные из файла avro в Scala - PullRequest
0 голосов
/ 31 октября 2019

Я хочу прочитать схему avro из метаданных файла avro в scala. Я могу сделать это 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)

Заранее спасибо

1 Ответ

0 голосов
/ 31 октября 2019

Попробуйте:

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

Надеюсь, это поможет

...