从本地文件加载模型时出现 Py4JJavaError

问题描述

os.environ["JAVA_HOME"] = "C:/Java/jdk1.8.0_281"
os.environ["PATH"] = os.environ["JAVA_HOME"] + "/bin:" + os.environ["PATH"]
os.environ["SPARK_HOME"] = "C:/spark/spark-2.4.3-bin-hadoop2.7"
os.environ["HADOOP_HOME"] = "C:/spark\Hadoop" # Hadoop folder has bin folder and inside it is winutils.exe
os.environ["PYSPARK_DRIVER_PYTHON"] = 'jupyter'
os.environ["PYSPARK_DRIVER_PYTHON_OPTS"] = "lab"

my_spark = SparkSession.builder \
    .appName("Spark NLP")\
    .master("local[4]")\
    .config("spark.driver.memory","6G")\
    .config("spark.driver.maxResultSize","0") \
    .config("spark.jars.packages","com.johnsNowlabs.nlp:spark-nlp_2.11:2.7.2")\
    .config("spark.kryoserializer.buffer.max","1000M")\
    .getorCreate()

import sparknlp
from sparknlp.base import *             #Spark NLP version 2.7.2
from sparknlp.annotator import *        #Apache Spark version: 2.4.3


This is giving me the error:
ner = NerDLModel.load('C:/spark_nlp_models/NerDLModel_BERT/')

NerDLModel_BERT一个文件夹,其中包含来自 NerDLModel

https://nlp.johnsNowlabs.com/docs/en/models 的解压缩文件夹/文件

Py4JJavaError:调用 o88.load 时发生错误。 : java.io.IOException:没有文件系统方案:C at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2660) 在 org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667) 在 org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94) 在 org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703) 在 org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685) 在 org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373) 在 com.johnsNowlabs.nlp.serialization.StructFeature.deserializeObject(Feature.scala:117) 在 com.johnsNowlabs.nlp.serialization.Feature.deserialize(Feature.scala:47) 在 com.johnsNowlabs.nlp.FeaturesReader$$anonfun$load$1.apply(ParamsAndFeaturesReadable.scala:15) 在 com.johnsNowlabs.nlp.FeaturesReader$$anonfun$load$1.apply(ParamsAndFeaturesReadable.scala:14) 在 scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 在 scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48) 在 com.johnsNowlabs.nlp.FeaturesReader.load(ParamsAndFeaturesReadable.scala:14) 在 com.johnsNowlabs.nlp.FeaturesReader.load(ParamsAndFeaturesReadable.scala:8) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244) 在 py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357) 在 py4j.Gateway.invoke(Gateway.java:282) 在 py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132) 在 py4j.commands.CallCommand.execute(CallCommand.java:79) 在 py4j.GatewayConnection.run(GatewayConnection.java:238) 在 java.lang.Thread.run(Thread.java:748)

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...