【发布时间】:2019-10-16 03:19:40
【问题描述】:
我想我正在遵循正确的documentation 让 pyspark 编写 avro 文件。我正在运行 Spark 2.4.4 我正在使用 Jupyter 实验室来运行 pyspark shell。
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
【问题讨论】:
-
相关 jira 问题:issues.apache.org/jira/browse/SPARK-27623。目前的解决方法似乎是使用 avro_2.11,您可以测试它是否适合您。
标签: python apache-spark pyspark avro