Исключение нулевого указателя после добавления зависимости к интерпретатору Spark2

Я пытаюсь добавить эту зависимость к интерпретатору искры 2 в zeppelin

https://mvnrepository.com/artifact/org.apache.spark/spark-sql_2.11/2.2.0

Однако после добавления зависимости я получаю исключение нулевого указателя при запуске любого кода.

Снимок экрана исключения нулевого указателя

Скриншот версии Spark и Scala

Добавление зависимости


person Mustafa Akmal    schedule 06.10.2018    source источник
comment
Не размещайте изображения текста в вопросе, поскольку они недоступны для поиска. Вставьте сам текст. Тогда люди смогут найти его, чтобы дать вам ответ.   -  person Brian Tompsett - 汤莱恩    schedule 06.10.2018


Ответы (3)


Вам не нужно добавлять spark-sql, он уже находится в интерпретаторе искры.

person zjffdu    schedule 07.10.2018
comment
Я пытаюсь запустить эту команду: data = fire_services_customDF.withColumn (CallDateTmp, date_format (to_date (col (CallDate), MM / dd / yy), yyyy-MM-dd)). Cast (timestamp) Получение этой ошибки: ‹console› : 37: ошибка: не найдено: значение date_format data = fire_services_customDF.withColumn (CallDateTmp, date_format (to_date (col (CallDate), MM / dd / yy), yyyy-MM-dd)). Cast (timestamp) ‹console›: 37: ошибка: не найдено: значение to_date data = fire_services_customDF.withColumn (CallDateTmp, date_format (to_date (col (CallDate), MM / dd / yy), yyyy-MM-dd)). Cast (timestamp) - person Mustafa Akmal; 08.10.2018
comment
date_format - это функция искры sql. Вам необходимо явно импортировать их. Эта ошибка не связана с отсутствием искры sql jar - person zjffdu; 08.10.2018

Просто добавьте %spark.sql в верхней части записной книжки, чтобы создать среду SQL.

https://zeppelin.apache.org/docs/0.8.0/interpreter/spark.html#overview

person bp2010    schedule 07.10.2018
comment
Получение этой ошибки сейчас: ‹console›: 2: error: ';' ожидалось, но '.' нашел. % spark.sql - person Mustafa Akmal; 08.10.2018
comment
убедитесь, что выбраны правильные интерпретаторы (колесо справа) stackoverflow.com/a/33567972/3213111 - person bp2010; 08.10.2018

Я решил проблему. Я определял класс в Scala. Методы to_date и date_format использовались внутри класса, но мои операторы импорта находились за пределами класса. Все, что мне нужно было сделать, это поместить операторы импорта в скобки класса, и все заработало.

case class HelperClass(){
import org.apache.spark.sql.functions._
import org.apache.spark.sql.types._

var fire_services_customDF = fire_servicesDF
var data=fire_servicesDF

def SetDatatypes() : Unit = {
    data=fire_services_customDF.withColumn("CallDateTmp",date_format(to_date(col("CallDate"), "MM/dd/yy"), "yyyy-MM-dd").cast("timestamp"))
}

def PrintSchema() : Unit= {
         data.printSchema
}

}

person Mustafa Akmal    schedule 08.10.2018