如何将Dataset转换为JavaPairRDD?

时间:2017-05-02 06:45:59

标签: java apache-spark apache-spark-dataset java-pair-rdd

有将数据集转换为JavaRDD的方法。

Dataset<Row> dataFrame;
JavaRDD<String> data = dataFrame.toJavaRDD();

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

1 个答案:

答案 0 :(得分: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));
    }
});