Исключение нулевого указателя Zeppelin - PullRequest
0 голосов
/ 29 мая 2018

Я написал этот простой код в своем блокноте 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 узлов, так как я могу определить, где находится файл журнала, где может находиться более подробная ошибка?

1 Ответ

0 голосов
/ 29 мая 2018

OK.Я решил это.Кажется, что Zeppelin использует Scala 2.10. Я добавил зависимость Scala CSV для версии 2.11, которая вызвала ошибку нулевого указателя.

Я перешел и изменил свою зависимость на 2.10 и перезапустил интерпретатор, и теперь он работает нормально.

...