-1
SparkConf sparkConf = new SparkConf().setAppName("SummaryStatistics");
JavaSparkContext spark = new JavaSparkContext(sparkConf);
JavaRDD<String> textFile = spark.textFile(args[0]);
JavaRDD<Vector> points = textFile.map(new ParsePoint());
RowMatrix mat = new RowMatrix(points.rdd());
MultivariateStatisticalSummary summary = mat.computeColumnSummaryStatistics();
System.out.println(summary.mean());
JavaRDD<Vector> result=(JavaRDD<Vector>) summary.mean(); // ***** Throwing error****
result.saveAsTextFile(args[1]);
我們怎樣才能把結果存儲summary.mean()一份文件。上面的方法(在向量RDD中投射summary.mean())不起作用並給出該異常。java.lang.ClassCastException:org.apache.spark.mllib.linalg.DenseVector不能被轉換爲org.apache.spark.api.java.JavaRDD
爲什麼不使用ObjectOutputStream保存summary.mean();? –
我使用HDFS作爲源代碼。 ObjectOutputStream不能在HDFS中創建/修改文件。 –