5

有一些方法可以将 Dataset 转换为 JavaRDD 。

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

有没有其他方法可以将 Dataset 转换为javaPairRDD<Long, Vector>?

4

1 回答 1

10

你可以PairFunction像下面这样使用。请检查数据集中元素的索引。在下面的示例中,索引 0 具有长值,索引 3 具有向量。

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));
    }
});
于 2017-05-02T06:58:52.910 回答