数据板上的XGBoost - 过时的scala版本

时间:2017-08-08 14:56:11

标签: scala xgboost databricks

我正在尝试跟踪找到的数据库中的xgboost示例here

在我到达实际的训练部分之前,一切似乎都能正常工作:

val xgboostModelRDD = XGBoost.trainWithRDD(trainRDD, ...)

此时我收到错误消息。由于堆栈跟踪相当短,我将把它粘贴到这里:

java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object;
at ml.dmlc.xgboost4j.scala.spark.XGBoost$.overrideParamsAccordingToTaskCPUs(XGBoost.scala:232)
at ml.dmlc.xgboost4j.scala.spark.XGBoost$.trainWithRDD(XGBoost.scala:293)

在做了一些研究之后,看来这个错误的原因是scala版本不兼容。 databricks社区版集群预先配置了scala版本2.10。这cannot be modified

这是否意味着使用社区版运行xgboost是不可能的,还是有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

我认为你链接到的论坛帖子有点过时了。 Databricks社区版实际上允许您选择群集的Scala版本。

首先,导航到群集页面,然后单击蓝色的“创建群集”按钮:

enter image description here

从“Databricks Runtime Version”下拉菜单中,您可以选择包含所需Scala和Spark版本的运行时版本:

enter image description here