java.lang.ClassNotFoundException:com.johnsnowlabs.nlp.DocumentAssembler spark in Pycharm with conda env
java.lang.ClassNotFoundException: com.johnsnowlabs.nlp.DocumentAssembler spark in Pycharm with conda env
我从 spark-nlp 保存了一个预训练模型,然后我尝试 运行 Python 脚本 Pycharm 中的 anaconda env:
Model_path = "./xxx"
model = PipelineModel.load(Model_path)
但是我得到了以下错误:
(我尝试使用 pyspark 2.4.4 和 spark-nlp2.4.4,以及 pyspark 2.4.4 和 spark-nlp2.5.4)
得到同样的错误:
21/02/05 13:31:21 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Traceback (most recent call last):
File "C:/Users/xxxx/xxxxx.py", line 381, in <module>
model = PipelineModel.load(Model_path)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\pyspark\ml\util.py", line 362, in load
return cls.read().load(path)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\pyspark\ml\pipeline.py", line 242, in load
return JavaMLReader(self.cls).load(path)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\pyspark\ml\util.py", line 300, in load
java_obj = self._jread.load(path)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\py4j\java_gateway.py", line 1257, in __call__
answer, self.gateway_client, self.target_id, self.name)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\pyspark\sql\utils.py", line 63, in deco
return f(*a, **kw)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\py4j\protocol.py", line 328, in get_return_value
format(target_id, ".", name), value)
py4j.protocol.Py4JJavaError: An error occurred while calling o314.load.
: java.lang.ClassNotFoundException: com.johnsnowlabs.nlp.DocumentAssembler
我是 pyspark 和 spark-nlp 的新手,有人可以帮忙吗?
先了解一些上下文。 spark-nlp 库依赖于需要存在于 Spark 类路径中的 jar 文件。
根据您在 PySpark 中启动上下文的方式,可以通过三种方式提供此 jar。
a) 当您通过解释器启动您的 Python 应用程序时,您调用 sparknlp.start() 并且 jar 将自动下载。
b) 使用 --jars 开关将 jar 传递给 pyspark 命令。在这种情况下,您从发布页面获取 jar 并手动下载。
c) 你启动pyspark并传递--packages,这里你需要传递一个maven坐标,例如,
pyspark --packages com.johnsnowlabs.nlp:spark-nlp_2.11:2.7.5
请在此处查看文档,
https://github.com/JohnSnowLabs/spark-nlp#usage
并确保选择所需的版本。
我从 spark-nlp 保存了一个预训练模型,然后我尝试 运行 Python 脚本 Pycharm 中的 anaconda env:
Model_path = "./xxx"
model = PipelineModel.load(Model_path)
但是我得到了以下错误: (我尝试使用 pyspark 2.4.4 和 spark-nlp2.4.4,以及 pyspark 2.4.4 和 spark-nlp2.5.4) 得到同样的错误:
21/02/05 13:31:21 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
Traceback (most recent call last):
File "C:/Users/xxxx/xxxxx.py", line 381, in <module>
model = PipelineModel.load(Model_path)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\pyspark\ml\util.py", line 362, in load
return cls.read().load(path)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\pyspark\ml\pipeline.py", line 242, in load
return JavaMLReader(self.cls).load(path)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\pyspark\ml\util.py", line 300, in load
java_obj = self._jread.load(path)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\py4j\java_gateway.py", line 1257, in __call__
answer, self.gateway_client, self.target_id, self.name)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\pyspark\sql\utils.py", line 63, in deco
return f(*a, **kw)
File "C:\Users\xxxxxxxx\anaconda3\envs\python3.7\lib\site-packages\py4j\protocol.py", line 328, in get_return_value
format(target_id, ".", name), value)
py4j.protocol.Py4JJavaError: An error occurred while calling o314.load.
: java.lang.ClassNotFoundException: com.johnsnowlabs.nlp.DocumentAssembler
我是 pyspark 和 spark-nlp 的新手,有人可以帮忙吗?
先了解一些上下文。 spark-nlp 库依赖于需要存在于 Spark 类路径中的 jar 文件。 根据您在 PySpark 中启动上下文的方式,可以通过三种方式提供此 jar。 a) 当您通过解释器启动您的 Python 应用程序时,您调用 sparknlp.start() 并且 jar 将自动下载。
b) 使用 --jars 开关将 jar 传递给 pyspark 命令。在这种情况下,您从发布页面获取 jar 并手动下载。
c) 你启动pyspark并传递--packages,这里你需要传递一个maven坐标,例如,
pyspark --packages com.johnsnowlabs.nlp:spark-nlp_2.11:2.7.5
请在此处查看文档,
https://github.com/JohnSnowLabs/spark-nlp#usage
并确保选择所需的版本。