有将数据集转换为JavaRDD的方法。
Dataset<Row> dataFrame;
JavaRDD<String> data = dataFrame.toJavaRDD();
有没有其他方法可以将数据集转换为javaPairRDD<Long, Vector>
?
答案 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));
}
});