【问题标题】:Null Pointer Exception After Adding Dependency to Spark2 Interpreter向 Spark2 解释器添加依赖后出现空指针异常
【发布时间】:2019-03-11 20:13:07
【问题描述】:

我正在尝试将此依赖项添加到 zeppelin 中的 spark 2 解释器中

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

但是,添加依赖后,运行任何代码时都会出现空指针异常。

【问题讨论】:

标签: apache-spark nullpointerexception dependency-management apache-zeppelin


【解决方案1】:

你不需要添加 spark-sql,它已经在 spark 解释器中了。

【讨论】:

  • 我正在尝试运行此命令: data=fire_services_customDF.withColumn("CallDateTmp",date_format(to_date(col("CallDate"), "MM/dd/yy"), "yyyy-MM- dd")).cast("timestamp") 得到这个错误::37: error: not found: value date_format data=fire_services_customDF.withColumn("CallDateTmp",date_format(to_date(col("CallDate"), " MM/dd/yy"), "yyyy-MM-dd")).cast("timestamp") :37: error: not found: value to_date data=fire_services_customDF.withColumn("CallDateTmp",date_format(to_date (col("CallDate"), "MM/dd/yy"), "yyyy-MM-dd")).cast("timestamp")
  • date_format 是 spark sql 的函数。您需要明确导入它们。这个错误不是因为缺少spark sql jar
【解决方案2】:

只需在笔记本顶部添加 %spark.sql 即可提供 SQL 环境

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

【讨论】:

【解决方案3】:

我解决了这个问题。我在 Scala 中定义了一个类。类内部使用了 to_date 和 date_format 方法,但我的导入语句在类外部。我所要做的就是将 import 语句放在类括号内,它工作正常。

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
}

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多