亲测跑通
环境:
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") \
.getOrCreate()
spark.sparkContext.addPyFile("hdfs:///xxxx/xxx/sparkxgb.zip") # sparkxgb.zip包路