如何在Scala中将DataFrame转换为RDD?

时间:2015-09-11 19:56:43

标签: scala apache-spark apache-spark-sql spark-dataframe

有人可以分享一下如何将dataframe转换为RDD吗?

3 个答案:

答案 0 :(得分:52)

简单地:

val rows: RDD[Row] = df.rdd

答案 1 :(得分:3)

如果要将行映射到不同的RDD元素,请使用df.map(row => ...)将数据帧转换为RDD。例如

df.map(row => (row(1), row(2)))

给出一个配对的RDD,其中df的第一列是键,df的第二列是值。

答案 2 :(得分:2)

我只是在找我的答案并找到了这篇文章。

Jean的回答绝对正确,加上“df.rdd”将返回RDD [行]。一旦得到RDD,我需要应用split()。为此,我们需要将RDD [Row}转换为RDD [String]

val opt=spark.sql("select tags from cvs").map(x=>x.toString()).rdd