From 6558ef327331b2207829196faa24531118b2b495 Mon Sep 17 00:00:00 2001 From: Shaform Date: Fri, 11 Mar 2016 21:44:59 +0800 Subject: [PATCH] support different types of filesystems --- .../src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala | 3 ++- .../scala/ml/dmlc/xgboost4j/scala/spark/XGBoostModel.scala | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala b/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala index 0122445c6..d201a0cf8 100644 --- a/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala +++ b/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala @@ -129,7 +129,8 @@ object XGBoost extends Serializable { * @return The loaded model */ def loadModelFromHadoop(modelPath: String)(implicit sparkContext: SparkContext): XGBoostModel = { - val dataInStream = FileSystem.get(sparkContext.hadoopConfiguration).open(new Path(modelPath)) + val path = new Path(modelPath) + val dataInStream = path.getFileSystem(sparkContext.hadoopConfiguration).open(path) val xgBoostModel = new XGBoostModel(SXGBoost.loadModel(dataInStream)) xgBoostModel } diff --git a/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoostModel.scala b/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoostModel.scala index 88b881cd4..cbe562c8d 100644 --- a/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoostModel.scala +++ b/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoostModel.scala @@ -50,7 +50,8 @@ class XGBoostModel(booster: Booster)(implicit val sc: SparkContext) extends Seri * @param modelPath The model path as in Hadoop path. */ def saveModelToHadoop(modelPath: String): Unit = { - val outputStream = FileSystem.get(sc.hadoopConfiguration).create(new Path(modelPath)) + val path = new Path(modelPath) + val outputStream = path.getFileSystem(sc.hadoopConfiguration).create(path) booster.saveModel(outputStream) outputStream.close() }