对象 johnsnowlabs 不是包 com 的成员

object johnsnowlabs is not a member of package com

我是 Zeppelin/spark 的新手,无法准确描述配置 NLP 库等新依赖项的步骤。 发现类似问题 here

我试图在 Zeppelin 笔记本(spark 版本 2.2.1)中使用 Johnsnowlabs NLP 库。 包括设置:

  1. 在 Zeppelin 的 Spark 解释器配置中,包括以下工件: com.johnsnowlabs.nlp:spark-nlp_2.11:2.5.4
  2. 然后,在 conf/zeppelin-env.sh 中,设置 SPARK_SUBMIT_OPTIONS。 export SPARK_SUBMIT_OPTIONS=” — packages JohnSnowLabs:spark-nlp:2.2.2”。然后重新启动 Zeppelin。

但是下面的程序报错:

%spark
import com.johnsnowlabs.nlp.base._
import com.johnsnowlabs.nlp.annotator._

<console>:26: error: object johnsnowlabs is not a member of package com
       import com.johnsnowlabs.nlp.base._
                  ^
<console>:27: error: object johnsnowlabs is not a member of package com
       import com.johnsnowlabs.nlp.annotator._

有人可以分享如何做到这一点吗?我提到了这个 link 。 TIA

您不需要编辑 conf/zeppelin-env.sh(无论如何您使用不当,因为您指定的是完全不同的版本),您可以通过 Zeppelin UI 进行所有更改。进入Spark解释器配置,将com.johnsnowlabs.nlp:spark-nlp_2.11:2.5.4放入spark.jars.packages配置属性(不存在则添加),最后放入Dependencies配置(出于某种原因,它不会自动拉入驱动程序类路径)。