我在zeppelin笔记本中写了这个简单的代码
import org.apache.spark.sql.SQLContext
val sqlConext = new SQLContext(sc)
val df = sqlContext.read.format("csv").option("header", "true").load("hdfs:///user/admin/foo/2018.csv")
df.printSchema()
之前它无法找到spark-csv。所以我把它添加为spark1和spark2解释器的依赖项。但是,当我运行此代码时,我收到错误
java.lang.NullPointerException
at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:38)
at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:33)
at org.apache.zeppelin.spark.SparkInterpreter.open(SparkInterpreter.java:614)
at org.apache.zeppelin.interpreter.LazyOpenInterpreter.open(LazyOpenInterpreter.java:69)
at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:493)
at org.apache.zeppelin.scheduler.Job.run(Job.java:175)
at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139)
此文件只有300行。所以我不认为这会导致任何内存问题。我有一个4节点集群,那么如何确定更详细错误可能存在于哪里的日志文件?
答案 0 :(得分:0)
行。我解决了似乎Zeppelin使用Scala 2.10我已经为版本2.11添加了Scala csv的依赖,导致空指针错误。
我把我的依赖项改为2.10并重新启动了解释器,现在它工作正常。