【问题标题】:Spark 2.4.4 Avro Pyspark Shell ConfigurationSpark 2.4.4 Avro Pyspark Shell 配置
【发布时间】: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

【问题讨论】:

标签: python apache-spark pyspark avro


【解决方案1】:

Shaido 有正确的想法。使用版本 Spark-Avro 2.11 有效。

import os    
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages org.apache.spark:spark-avro_2.11:2.4.3 pyspark-shell'    
spark_conf = SparkConf().setMaster("local").setAppName("app")\
    .set('spark.jars.packages', 'org.apache.spark:spark-avro_2.11:2.4.3')
sc = SparkContext(conf=spark_conf)
spark = SparkSession(sc)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多