之前在纯python环境中捣鼓spark,在网上能够找到xgboost的jar包,但是lightgbm在微软官网的方式安装.如下
import pyspark
spark = pyspark.sql.SparkSession.builder.appName("MyApp") \
.config("spark.jars.packages", "com.microsoft.ml.spark:mmlspark_2.11:1.0.0-rc3") \
.config("spark.jars.repositories", "https://mmlspark.azureedge.net/maven") \
.getOrCreate()
import mmlspark
这种方式比较慢,或者你只想在离线环境下试试,在不便通过以上这种途径得到jar依赖包的情况下,就需要找到匹配的离线jar文件。
现把相关文件分享出来:
版本为:
spark:2.3
mmlspark_2.11-0.18.1
lightgbmlib-2.2.350
提交方式:
spark2-submit --master yarn --num-executors 60 --executor-memory 16g --executor-cores 4 --driver-memory 4g --jars lightgbmlib-2.2.350.jar,mmlspark_2.11-0.18.1.jar --py-files mmlspark.zip lgb_model.py
在放置该jar依赖的路径下,提交以上代码,其中lgb_model.py为个人所要执行的spark lightgbm代码。
导入的代码片段为
from pyspark.sql import SparkSession
spark = SparkSession. \
Builder(). \
config("spark.sql.crossJoin.enabled", "true"). \
config("spark.sql.execution.arrow.enabled", "false"). \
enableHiveSupport(). \
getOrCreate()
from mmlspark.lightgbm import LightGBMRegressor
lgb = LightGBMRegressor(
alpha=0.1,
learningRate=0.1,
numLeaves=100,
numIterations=128,
maxDepth=16,
maxBin=32)
#train_mod02为spark.dataframe格式
model = lgb.fit(train_mod02)
附下载离线jar包如下,如需请自取。
pyspark-lightgbm-jar链接