如何解决Pyspark ModuleNotFoundError:没有名为“ mmlspark”的模块
我的环境:Ubuntu 64位,Spark 2.4.5,Jupyter Notebook。
互联网连接很好,没有任何错误:
spark = SparkSession.builder \
.appName("Churn Scoring LightGBM") \
.master("local[4]") \
.config("spark.jars.packages","com.microsoft.ml.spark:mmlspark_2.11:0.18.1") \
.getOrCreate()
from mmlspark.lightgbm import LightGBMClassifier
但是没有互联网连接,我得到了相关的jar(cloudera docs推荐的这种样式):
import os
mmlspark_jars_dir = os.path.join(os.environ["SPARK_HOME"],"mmlspark_jars")
mmlspark_jars = [os.path.join(mmlspark_jars_dir,x) for x in os.listdir(mmlspark_jars_dir)]
print(mmlspark_jars)
['/home/erkan/spark/mmlspark_jars/com.jcraft_jsch-0.1.54.jar','/home/erkan/spark/mmlspark_jars/com.microsoft.ml.spark_mmlspark_2.11-0.18.1.jar','/home/erkan/spark/mmlspark_jars/commons-codec_commons-codec-1.10.jar','/home/erkan/spark/mmlspark_jars/org.scalatest_scalatest_2.11-3.0.5.jar','/home/erkan/spark/mmlspark_jars/org.apache.httpcomponents_httpcore-4.4.10.jar','/home/erkan/spark/mmlspark_jars/org.openpnp_opencv-3.2.0-1.jar','/home/erkan/spark/mmlspark_jars/commons-logging_commons-logging-1.2.jar','/home/erkan/spark/mmlspark_jars/com.github.vowpalwabbit_vw-jni-8.7.0.2.jar','/home/erkan/spark/mmlspark_jars/org.apache.httpcomponents_httpclient-4.5.6.jar','/home/erkan/spark/mmlspark_jars/org.scala-lang_scala-reflect-2.11.12.jar','/home/erkan/spark/mmlspark_jars/org.scala-lang.modules_scala-xml_2.11-1.0.6.jar','/home/erkan/spark/mmlspark_jars/com.microsoft.cntk_cntk-2.4.jar','/home/erkan/spark/mmlspark_jars/io.spray_spray-json_2.11-1.3.2.jar','/home/erkan/spark/mmlspark_jars/org.scalactic_scalactic_2.11-3.0.5.jar','/home/erkan/spark/mmlspark_jars/com.microsoft.ml.lightgbm_lightgbmlib-2.2.350.jar']
我不得不像这样修改SparkSession:
spark = SparkSession.builder \
.appName("Churn Scoring LightGBM") \
.master("local[4]") \
.config("spark.jars",",".join(mmlspark_jars)) \
.getOrCreate()
我从终端观察到,一切似乎都很好,SparkSession已创建。然后我检查了Spark UI
然后我尝试导入:
from mmlspark.lightgbm import LightGBMClassifier
并收到此错误:
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-10-df498625321c> in <module>
----> 1 from mmlspark.lightgbm import LightGBMClassifier
ModuleNotFoundError: No module named 'mmlspark'
我不明白,尽管我在SparkUI导入中看到相同的jar不适用于第二种方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。