gpt4 book ai didi

java - 如何将 JavaPairRDD 转换为数据集?

转载 作者:行者123 更新时间:2023-11-30 06:52:57 30 4
gpt4 key购买 nike

SparkSession.createDataset()只允许List, RDD, or Seq - 但它不支持JavaPairRDD

如果我有 JavaPairRDD<String, User>我想创建一个 Dataset从,这将是 SparkSession.createDataset() 的可行解决方法创建包装器的限制 UserMap包含两个字段的类:StringUser

然后做spark.createDataset(userMap, Encoders.bean(UserMap.class));

最佳答案

如果你可以转换JavaPairRDDList<Tuple2<K, V>>然后你可以使用 createDataset 方法,该方法接受 List。请参阅下面的示例代码。

JavaPairRDD<String, User> pairRDD = ...;
Dataset<Row> df = spark.createDataset(pairRDD.collect(), Encoders.tuple(Encoders.STRING(),Encoders.bean(User.class))).toDF("key","value");

或者你可以转换为RDD

Dataset<Row> df = spark.createDataset(JavaPairRDD.toRDD(pairRDD), Encoders.tuple(Encoders.STRING(),Encoders.bean(User.class))).toDF("key","value");

关于java - 如何将 JavaPairRDD 转换为数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42405905/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com