【发布时间】:2016-06-10 18:50:00
【问题描述】:
我一直在努力
java.lang.NoClassDefFoundError: org/apache/avro/mapred/AvroWrapper
在 DataFrame 对象上调用 show() 时。我试图通过外壳(spark-shell --master yarn)来做到这一点。我可以看到 shell 在创建 DataFrame 对象时识别了架构,但是如果我对数据执行任何操作,它在尝试实例化 AvroWrapper 时总是会抛出 NoClassDefFoundError。我尝试在集群上的$HDFS_USER/lib 目录中添加avro-mapred-1.8.0.jar,甚至在启动shell 时使用--jar 选项将其包含在内。这些选项都不起作用。任何建议将不胜感激。下面是示例代码:
scala> import org.apache.spark.sql._
scala> import com.databricks.spark.avro._
scala> val sqc = new SQLContext(sc)
scala> val df = sqc.read.avro("my_avro_file") // recognizes the schema and creates the DataFrame object
scala> df.show // this is where I get NoClassDefFoundError
【问题讨论】:
标签: apache-spark spark-dataframe spark-avro