【问题标题】:How to convert Dataset into JavaPairRDD?如何将数据集转换为 JavaPairRDD?
【发布时间】:2017-05-02 06:45:59
【问题描述】:

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

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

还有其他方法可以将Dataset转换成javaPairRDD&lt;Long, Vector&gt;吗?

【问题讨论】:

  • 你能发布dataFrame.printSchema()的值吗;

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


【解决方案1】:

您可以使用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));
    }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    • 2021-05-22
    • 2012-02-17
    相关资源
    最近更新 更多