PredictionIOはデフォルトでは以下のバージョンを使用します。
Scalaのバージョンはともかく、Spark(ストレージにElasticsearchを使用する場合はElasticsearchも)のバージョンがかなり古いのが気になるところですが、ソースからのインストール時に以下のようにオプションで使用するバージョンを指定できるようになっています。
$ ./make-distribution.sh -Dscala.version=2.11.8 -Dspark.version=2.1.0 -Delasticsearch.version=5.3.0
指定できるのは以下のプロパティです。
scala.version
akka.version
spark.version
hadoop.version
elasticsearch.version
サポートしているバージョンはドキュメントには以下のように書かれているのですが、厳密にどのバージョンをサポートしているかは明記されていません。
参考までに、現在Travisでの自動テストは以下のパターンで実行されています。
Scala | Spark | Akka | Hadoop | Elasticsearch |
---|---|---|---|---|
2.10.6 | 1.6.3 | 2.3.15 | 2.6.5 | 1.7.3 |
2.10.6 | 1.6.3 | 2.3.15 | 2.6.5 | 5.2.2 |
2.11.8 | 2.1.0 | 2.4.17 | 2.7.3 | 1.7.3 |
2.11.8 | 2.1.0 | 2.4.17 | 2.7.3 | 5.2.2 |
PredictionIOは後方互換性を非常に重視しているためこのような感じになっていますが、さすがにデフォルトはScala 2.11.x、Spark 2.x、Elasticsearch 5.xでよいのではという気がしますね…。