刘大猫. 2020-11-06 17:24 采纳率: 57.1%
浏览 54

java版 使用spark机器学习包进行求平均数遇到类型转换出错

问题:java版 使用spark机器学习包进行求平均数遇到:  java.lang.Double cannot be cast to org.apache.spark.mllib.linalg.Vector

//读取数据
        Dataset<Row> jdbcDF = spark.read()
                .option("url",url)
                .option("dbtable", table_name)
                .option("driver", "com.mysql.jdbc.Driver")
                .option("user",user)
                .option("password", password)
                .format("jdbc")
                .load();

JavaRDD<Vector> vectorJavaRDD = jdbcDF.toJavaRDD().mapPartitions(new FlatMapFunction<Iterator<Row>, Vector>() {
            public Iterator<Vector> call(Iterator<Row> iterator) throws Exception {

                List<Vector> results = new ArrayList<Vector>();

                while (iterator.hasNext()) {
                    Row row = iterator.next();
                    Vector vector = (Vector) row.getAs("temperature1");
                    results.add(new org.apache.spark.mllib.linalg.DenseVector(vector.toArray()));
                }

                return results.iterator();
            }
        });

        //  summary
        MultivariateStatisticalSummary summary = Statistics.colStats(vectorJavaRDD.rdd());
        Vector max = summary.max();
        System.out.println("max: "+ Arrays.toString(max.toArray()));
        System.out.println("min: "+Arrays.toString(summary.min().toArray()));
        System.out.println("count:" +summary.count());
        System.out.println("mean: "+Arrays.toString(summary.mean().toArray()));

问题是这行运行报错: Vector vector = (Vector) row.getAs("temperature1");

运行报错:java.lang.Double  cannot be cast to org.apache.spark.mllib.linalg.Vector

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-21 13:59
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

    报告相同问题?

    悬赏问题

    • ¥15 如何利用闲置机械硬盘变现
    • ¥15 信号处理中的凸优化问题
    • ¥15 arm虚拟机无法和物理机互通
    • ¥15 如何在此代码上增加一个统计学生生源的功能?(语言-c语言)
    • ¥15 Android导航条遮盖异常
    • ¥15 计算机网络技术基础问题
    • ¥15 设置mac系统只能访问指定网站
    • ¥15 西门子博途 s7 1200控制三台步进电机
    • ¥15 基于非参数的方向距离函数求污染物影子价格(有偿)
    • ¥15 vue+element 生成table