【问题标题】:Adding JARs to use sql UDF in spark添加 JAR 以在 spark 中使用 sql UDF
【发布时间】:2017-09-09 18:05:10
【问题描述】:

我想使用在我的 libaray 中定义的自定义 UDF。我为此使用了以下代码:

%spark2
import org.apache.spark.sql.functions.year

val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)

sqlContext.sql(s"ADD JAR /usr/hdp/current/spark-client/lib/myLib.jar")

val df = sqlContext.sql("select parse_datetime(start_timestamp, 'CET', 'yyyyMMddHHmmssSSS') AS TIMESTAMP) from temp) 

上面的代码抱怨缺少函数“parse_datetime”,显然,ADD JAR 语句没有添加 myLib。是否存在语法问题或我缺少什么。我在 Zeppelin 中运行它。

我也复制了$SPARK_HOME/lib文件夹中的myLib.jar,但是没有用。

【问题讨论】:

    标签: apache-spark apache-spark-sql user-defined-functions apache-zeppelin


    【解决方案1】:

    我找到了解决方案。我在 spark intertreper 的依赖项部分给出了 myLib.jar 的确切路径。现在可以了。

    【讨论】:

    • 你是如何将 jar 添加到 spark 解释器的?你的意思是,在 pom.xml 或 build.sbt 文件中添加 jar?
    • 这是 Zeppelin 特有的。可以在 Zepplin 的 spark intertreper 的依赖项部分添加客户 jar。你想做什么?
    猜你喜欢
    • 1970-01-01
    • 2018-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-02
    • 2017-09-16
    • 2016-06-21
    • 1970-01-01
    相关资源
    最近更新 更多