Мне кажется, я следую правильной документации , чтобы заставить pyspark записывать файлы avro. Я использую Spark 2.4.4. Я использую лабораторию Jupyter для запуска оболочки pyspark.
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages org.apache.spark:spark-avro_2.12:2.4.4 pyspark-shell'
spark_conf = SparkConf().setMaster("local").setAppName("app")\
.set('spark.jars.packages', 'org.apache.spark:spark-avro_2.12:2.4.4')\
.set('spark.driver.memory', '3g')\
sc = SparkContext(conf=spark_conf)
spark = SparkSession(sc)
...
df.write.format("avro").save('file.avro')
Но я получаю следующую ошибку. Меня не беспокоит обратная совместимость с Avro. Есть идеи?
Py4JJavaError: An error occurred while calling o41.jdbc.
: java.util.ServiceConfigurationError: org.apache.spark.sql.sources.DataSourceRegister: Provider org.apache.spark.sql.avro.AvroFileFormat could not be instantiated