如何使用用户指定的架构将数据帧转换为 Avro 格式?
你应该使用spark-avro模块,它允许从Spark SQL读取和写入Avro数据。
import org.apache.avro.Schema
import org.apache.spark.sql.SparkSession
val schema = new Schema.Parser().parse(new File("user.avsc"))
val spark = SparkSession.builder().master("local").getOrCreate()
spark
.read
.format("com.databricks.spark.avro")
.option("avroSchema", schema.toString)
.load("src/test/resources/episodes.avro")