火花集群模式下的 H2O 给出了与火花本地模式不同的预测。spark local 中的 H2O 比 spark 集群更好,为什么会发生这种情况,你能帮我吗?告诉我这是否是 H2O 行为。正在使用两个数据集。一个用于训练模型,另一个用于评分。
trainingData.csv : 1.8MB (行数为 2211),
testingData.csv : 1.8MB (行数为 2211),
Driver Memory : 1G,
Executors Memory: 1G,
Number Of Executors : 1
正在使用以下命令集群:=>
nohup /usr/hdp/current/spark2-client/bin/spark-submit --class com.inn.sparkrunner.h2o.GradientBoostingAlgorithm --master yarn --driver-memory 1G --executor-memory 1G --num-executors 1 --deploy-mode 集群 spark-runner-1.0.jar > tool.log &
1)主要方法
public static void main(String args[]) {
SparkSession sparkSession = getSparkSession();
H2OContext h2oContext = getH2oContext(sparkSession);
UnseenDataTestDRF(sparkSession, h2oContext);
}
2)正在创建h2o上下文。
private static H2OContext getH2oContext(SparkSession sparkSession) {
H2OConf h2oConf = new H2OConf(sparkSession.sparkContext()).setInternalClusterMode();
H2OContext orCreate = H2OContext.getOrCreate(sparkSession.sparkContext(), h2oConf);
return orCreate;
}
3)正在创建火花会话。
public static SparkSession getSparkSession() {
SparkSession spark = SparkSession.builder().appName("Java Spark SQL basic example").master("yarn")
.getOrCreate();
return spark;
}
4)设置GBM参数。
private static GBMParameters getGBMParam(H2OFrame asH2OFrame) {
GBMParameters gbmParam = new GBMParameters();
gbmParam._response_column = "high";
gbmParam._train = asH2OFrame._key;
gbmParam._ntrees = 10;
gbmParam._seed = 1;
return gbmParam;
}