如何将Dataset转换为JavaPairRDD?

Mos*_*ani 5 java apache-spark apache-spark-dataset java-pair-rdd

有一些方法可以将数据集转换为JavaRDD.

Dataset<Row> dataFrame;
JavaRDD<String> data = dataFrame.toJavaRDD();
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以将数据集转换为javaPairRDD<Long, Vector>

aba*_*hel 10

你可以使用PairFunction如下.请检查数据集中的元素索引.在下面的示例中,索引0具有长值,索引3具有Vector.

JavaPairRDD<Long, Vector> jpRDD = dataFrame.toJavaRDD().mapToPair(new PairFunction<Row, Long, Vector>() {
    public Tuple2<Long, Vector> call(Row row) throws Exception {
        return new Tuple2<Long, Vector>((Long) row.get(0), (Vector) row.get(3));
    }
});
Run Code Online (Sandbox Code Playgroud)