亲测跑通
环境:
Python 3.6.5
Pyspark:2.4.5
Spark: 2.4.3
步骤:
第一步:配置好环境
第二步:下载相关文件(下载地址)
- xgboost4j-0.72.jar
- xgboost4j-spark-0.72.jar
- Sparkxgb.zip
第三步:
- 关键点1:将xgboost4j-0.72.jar和Xgboost4j-spark-0.72.jar添加到job中(使用--jars或者配置spark.jars)
- 关键点2:需要每个executor执行:spark.sparkContext.addPyFile("hdfs:///xxxx/xxx/sparkxgb.zip")
- 将以上3个包放入:

代码示例:
from sparkxgb import XGBoostEstimator
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--jars xgboost4j-spark-0.72.jar,xgboost4j-0.72.jar pyspark-shell' # 本地运行时,jar包放在当前代码的路径下;提交任务时,利用--jars参数指定
spark = SparkSession \
.builder \
.master("local") \
.appName("PythonWordCount") \
.getOr

在Python 3.6.5和Pyspark 2.4.5环境下,通过Spark 2.4.3实现分布式XGBoost。关键步骤包括配置环境,添加xgboost相关jar包,并确保每个executor加载Sparkxgb.zip。在0.72版本中运行成功,但在0.90版本中由于缺失XGBoostEstimator导致失败,报错信息与解决方案参考链接给出。
最低0.47元/天 解锁文章
8857

被折叠的 条评论
为什么被折叠?



