直接从hdfs将xgboost模型导入pyspark脚本

nwo49xxi  于 2021-06-01  发布在  Hadoop
关注(0)|答案(0)|浏览(618)

我尝试直接从hdfs将.dat格式的xgboost模型加载到pyspark脚本中。
我试着用 SparkContext.addFile() . 但这对我没用。代码:

model = sc.addFile("hdfs://namenode:8088/home/jup-user/testdb/scripts/titanic_pickle.dat")
print(type(model))

回溯(最近一次调用last):file“/home/jup user/testdb/scripts/loadhdfs.py”,第63行,model=sc.addfile(“hdfs://namenode:8088/home/jup user/testdb/scripts/titanic\u pickle.dat“)file“/data\u disk/opt/cloudera/parcels/cdh-5.15.1-1.cdh5.15.1.p0.4/lib/spark/python/lib/pyspark.zip/pyspark/context.py”,第787行,在addfile“/data\u disk/opt/cloudera/parcels/cdh-5.15.1-1.cdh5.15.1.p0.4/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/java\u gateway.py”第1257行,在call file“/data\u disk/opt/cloudera/parcels/cdh-5.15.1-1.cdh5.15.1.p0.4/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py”第45行,在deco file“/data\u disk/opt/cloudera/parcels/cdh-5.15.1-1.cdh5.15.1.p0.4/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/protocol.py”第328行的get\u return\u value py4j.protocol.py4jjavaerror:调用o51.addfile时出错。
但是如果我从hdfs加载textfile,使用 SparkContext.textFile() 它在工作:

textfile1 = sc.textFile("hdfs://namenode:8088/home/jup-user/testdb/scripts/data/clean_test.csv")
print(type(textfile1))

类“pyspark.rdd.rdd”
我尝试使用sparkfiles和pyfiles,但spark submit无法理解hdfs(hdfs://)路径。pickle也不能理解hdfs路径
我很高兴看到您关于将xgboost模型(或任何格式的文件)导入pyspark脚本的所有建议。
比尔,弗拉基米尔

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题