Pyspark 在Databricks上使用sparknlp的预训练模型

Pyspark 在Databricks上使用sparknlp的预训练模型,pyspark,databricks,johnsnowlabs-spark-nlp,Pyspark,Databricks,Johnsnowlabs Spark Nlp,我试图遵循John Snow实验室的官方示例,但每次我得到TypeError:“JavaPackage”对象都是不可调用的错误。我遵循了中的所有步骤,但无论我尝试什么样的演练,要么这样做,要么失败 第一个示例(安装后): 对于第二个示例,我也得到了相同的错误。Databricks运行时版本是:6.5(包括ApacheSpark2.4.5、Scala2.11),它在已批准的运行时列表中 我不确定错误消息的含义或解决方法。我发现,'JavaPackage'对象不可调用是由于缺少spark nlp(程

我试图遵循John Snow实验室的官方示例,但每次我得到
TypeError:“JavaPackage”对象都是不可调用的
错误。我遵循了中的所有步骤,但无论我尝试什么样的演练,要么这样做,要么失败

第一个示例(安装后):

对于第二个示例,我也得到了相同的错误。Databricks运行时版本是:6.5(包括ApacheSpark2.4.5、Scala2.11),它在已批准的运行时列表中


我不确定错误消息的含义或解决方法。

我发现,
'JavaPackage'对象不可调用
是由于缺少spark nlp(程序集JAR)造成的。因此,我确保下载这些JAR,然后将其放入执行器和驱动程序中。例如

在构建Spark docker映像时,请执行以下操作

RUN cd /opt/spark/jars && \
    wget https://s3.amazonaws.com/auxdata.johnsnowlabs.com/public/spark-nlp-assembly-2.6.4.jar
并且在驱动程序映像/机器上,确保jar存在于本地directoy中。然后设置

conf.set("spark.driver.extraClassPath", "/opt/spark/jars/spark-nlp-assembly-2.6.4.jar")
conf.set("spark.executor.extraClassPath", "/opt/spark/jars/spark-nlp-assembly-2.6.4.jar")

Databrick的解决方案可能有点不同,因此您可能需要在S3上托管它们,并以这种方式引用它们,而不是在jar中烘焙。

我发现,
'JavaPackage'对象不可调用
是由缺少spark nlp(程序集jars)引起的。因此,我确保下载这些JAR,然后将其放入执行器和驱动程序中。例如

在构建Spark docker映像时,请执行以下操作

RUN cd /opt/spark/jars && \
    wget https://s3.amazonaws.com/auxdata.johnsnowlabs.com/public/spark-nlp-assembly-2.6.4.jar
并且在驱动程序映像/机器上,确保jar存在于本地directoy中。然后设置

conf.set("spark.driver.extraClassPath", "/opt/spark/jars/spark-nlp-assembly-2.6.4.jar")
conf.set("spark.executor.extraClassPath", "/opt/spark/jars/spark-nlp-assembly-2.6.4.jar")
Databrick的解决方案可能有点不同,因此您可能需要在S3上托管它们,并以这种方式引用它们,而不是在罐子中烘焙