gpt4 book ai didi

JavaPairRDD 到 SPARK 中的数据集

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:27 31 4
gpt4 key购买 nike

我有 JavaPairRDD 格式的数据

JavaPairdRDD<Tuple2<String, Tuple2<String,String>>>

我尝试使用下面的代码

 Encoder<Tuple2<String, Tuple2<String,String>>> encoder2 =
Encoders.tuple(Encoders.STRING(), Encoders.tuple(Encoders.STRING(),Encoders.STRING()));
Dataset<Row> userViolationsDetails = spark.createDataset(JavaPairRDD.toRDD(MY_RDD),encoder2).toDF("value1","value2");

但是如何生成 3 列的数据集???上述代码的输出为我提供了两列数据。有什么指示/建议吗???

最佳答案

尝试运行 printSchema - 您会看到,value2 是一个复杂类型。

有了这些信息,你可以写:

Dataset<Row> uvd = userViolationsDetails.selectExpr("value1", "value2._1 as value2", "value2._2 as value3")

value2._1 表示当前“value2”字段内元组的第一个元素。我们覆盖 value2 字段,使其只有一个值

请注意,这将在https://issues.apache.org/jira/browse/SPARK-24548之后起作用。被合并到master分支。目前 Spark 中存在一个错误,元组被转换为具有两个名为 value

的字段的结构

关于JavaPairRDD 到 SPARK 中的数据集 <Row>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50834145/

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