Spark Scala:无法执行用户定义的函数导致:SparkException:必须在您的配置中设置主 URL

问题描述

我有一个包含字符串的列的数据框,我需要使用 Word2Vec 模型在新列中为该单词添加同义词。

所以我写了这个函数

    def expand(word: String): String = {
      val model = Word2VecModel.load( "w2vec.model")
      val expanded = model.findSynonyms(word,3).rdd.map(_.getString(0)).collect().toList.mkString(" ")
      expanded
    }

当我调用函数时,我得到

expand("usb")
res51: String = hdmi cable kabel

到目前为止很酷,现在我想将此函数放入 udf 并将其应用于整个数据帧:

import org.apache.spark.sql.functions.udf

val func = udf(expand _)
val exploded_df_w2vec = exploded_df.withColumn("expanded",func($"col"))

问题出现在这里

display(exploded_df_w2vec)
Failed to execute user defined function($read$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$iw$$Lambda$6261/1609460357: (string) => string)
Caused by: SparkException: A master URL must be set in your configuration

代码在数据块中执行,Scala 2.12 知道如何解决这个问题吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)