为了使用DataSourceV2
来读取一些我已经拥有Spark schema
的已存储Parquet二进制文件,我正在努力寻找一种将Parquet
流反序列化为{{1 }}。
对于GenericRecord / Row
,我发现我们可以使用类似的方法做到这一点:
Avro
其中import org.apache.avro.generic.{GenericDatumReader, GenericRecord}
import org.apache.spark.sql.avro.AvroDeserializer
...
val datumReader = new GenericDatumReader[GenericRecord]()
val reader = DataFileReader.openReader(avroStream, datumReader)
val iterator = reader.iterator()
val record = iterator.next()
val row = AvroDeserializer(reader.getSchema, schema).deserialize(record)
是字节流。
有一些实用程序类可以帮助您吗?
感谢您的帮助!