pyspark使用分布式xgboost

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

亲测跑通

环境

      Python 3.6.5

      Pyspark:2.4.5

      Spark: 2.4.3

步骤

    第一步:配置好环境

    第二步:下载相关文件(下载地址

  1.    xgboost4j-0.72.jar
  2.    xgboost4j-spark-0.72.jar 
  3.    Sparkxgb.zip

    第三步:

  1. 关键点1:将xgboost4j-0.72.jar和Xgboost4j-spark-0.72.jar添加到job中(使用--jars或者配置spark.jars)
  2. 关键点2:需要每个executor执行:spark.sparkContext.addPyFile("hdfs:///xxxx/xxx/sparkxgb.zip")
  3. 将以上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") \
    .getOrCreate()

spark.sparkContext.addPyFile("hdfs:///xxxx/xxx/sparkxgb.zip")  # sparkxgb.zip包路
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值