JavaRDD和Spark Mlib中的java.lang.ClassCastException

时间:2017-09-06 16:58:48

标签: java apache-spark rdd apache-spark-mllib

如何将分布式矩阵投射到局部矩阵中;我面临这个错误,在spark集群中投射矩阵。

Matrix x_matrix = (Matrix) x_mat;
    y_mat.multiply(x_matrix);

    SingularValueDecomposition<RowMatrix, Matrix> svd = y_mat.computeSVD(10, true, 1.0E-9d);

    // cast
    Matrix U = (Matrix) svd.U();  // The U factor is a RowMatrix.
    Vector s = svd.s();     // The singular values are stored in a local dense vector.
    Matrix V = svd.V();     // The V factor is a local dense matrix.

错误

Exception in thread "main" java.lang.ClassCastException: org.apache.spark.mllib.linalg.distributed.RowMatrix cannot be cast to org.apache.spark.mllib.linalg.Matri
    at com.apache.spark.project6.rmsd.Kabsch(rmsd.java:101)
    at com.apache.spark.project6.rmsd.main(rmsd.java:227)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.openstack.sahara.edp.SparkWrapper.main(SparkWrapper.java:20)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

0 个答案:

没有答案