如何将 Dataset 转换为 JavaPairRDD?

How to convert Dataset into JavaPairRDD?

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

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

是否有任何其他方法可以将 Dataset 转换为 javaPairRDD<Long, Vector>

您可以像下面那样使用 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));
    }
});