问题描述
我的环境: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 (将#修改为@)