2017-02-26 9 views
-2

JavaRDDを使用して2D行列演算を行いたいだけです。https://spark.apache.org/docs/latest/mllib-data-types.htmlを参照してください。私はここで与えられたのとまったく同じサンプルコードを実行しようとしました。しかし、日食は最初にmllibを認識していないようです。ここに私のコードスニペットがあります(上記のリンクと同じです)。apache spark 2.0.2でmllibを使用し、 "import org.apache.spark.mllibを解決できません"エラー

import org.apache.spark.mllib.linalg.Vector; 
    import org.apache.spark.mllib.regression.LabeledPoint; 
    import org.apache.spark.mllib.regression.LabeledPoint; 
    import org.apache.spark.mllib.util.MLUtils; 
    import org.apache.spark.mllib.linalg.Matrix; 
    import org.apache.spark.mllib.linalg.Matrices; 

    JavaRDD<Vector> rows = ... // a JavaRDD of local vectors 
          // Create a RowMatrix from an JavaRDD<Vector>. 
    RowMatrix mat = new RowMatrix(rows.rdd()); 

    // Get its size. 
    long m = mat.numRows(); 
    long n = mat.numCols(); 

    // QR decomposition 
    QRDecomposition<RowMatrix, Matrix> result = mat.tallSkinnyQR(true); 

私はSpark 2.0.2を使用しています。どこが間違っていますか?どんな依存関係も必要ですか? sparkのホームディレクトリを確認し、sparkディレクトリにmllibディレクトリとmllib-localディレクトリがあります。

答えて

0

pom.xmlでspark-mllibの依存関係がないかどうか確認してください。ない場合は、こちらから正しいバージョンを取得:私の応答の時点でhttps://mvnrepository.com/artifact/org.apache.spark/spark-mllib_2.11

を、最新バージョンは次のとおりです。

<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-mllib_2.11 --> 
<dependency> 
    <groupId>org.apache.spark</groupId> 
    <artifactId>spark-mllib_2.11</artifactId> 
    <version>2.1.0</version> 
</dependency>