gpt4 book ai didi

scala - Apache Spark : How do I convert a Spark DataFrame to a RDD with type RDD[(Type1, Type2,...)]?

转载 作者:行者123 更新时间:2023-12-04 13:58:42 24 4
gpt4 key购买 nike

例如,假设我有DataFrame:

var myDF = sc.parallelize(Seq(("one",1),("two",2),("three",3))).toDF("a", "b")

我可以使用 map 将其转换为 RDD[(String, Int)]:
var myRDD = myDF.map(r => (r(0).asInstanceOf[String], r(1).asInstanceOf[Int]))

是否有更好的方法可以执行此操作,也许使用DF模式?

最佳答案

Row上使用模式匹配:

import org.apache.spark.sql.Row

myDF.map{case Row(a: String, b: Int) => (a, b)}

在Spark 1.6+中,您可以使用 Dataset,如下所示:
myDF.as[(String, Int)].rdd

关于scala - Apache Spark : How do I convert a Spark DataFrame to a RDD with type RDD[(Type1, Type2,...)]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34954809/

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