我們有一個MapR羣集,在這個羣集上運行,但現在突然停止,甚至無法在mapr演示羣集上運行。我們正在運行MapR 5.1和Spark 1.6.1。寫給Spark Avro失敗
from pyspark import SparkConf, SparkContext
from pyspark import HiveContext
from pyspark.sql import DataFrameWriter
conf = SparkConf().setAppName('test')
sc = SparkContext(conf=conf)
sqlContext = HiveContext(sc)
df = sqlContext.createDataFrame([(2012, 8, "Batman", 9.8), (2012, 8, "Hero", 8.7), (2012, 7, "Robot", 5.5), (2011, 7, "Git", 2.0)],["year", "month", "title", "rating"])
df.show()
df.write.mode("append").format("com.databricks.spark.avro").save("/user/bedrock/output_avro")
sc.stop()
但現在我收到此錯誤:
java.lang.IllegalAccessError: tried to access class org.apache.avro.SchemaBuilder$FieldDefault from class com.databricks.spark.avro.SchemaConverters$$anonfun$convertStructToAvro$1
任何想法?這是根據databricks github上的說明。使用這些包,我調用pyspark殼或火花提交:
/opt/mapr/spark/spark-1.6.1/bin/pyspark --packages com.databricks:spark-avro_2.10:2.0.1 --driver-class-path /opt/mapr/spark/spark-1.6.1/lib/avro-1.7.7.jar --conf spark.executor.extraClassPath=/opt/mapr/spark/spark-1.6.1/lib/avro-1.7.7.jar --master yarn-client
@ zero323,你對這個輸入? – learning