【发布时间】:2015-12-08 11:20:50
【问题描述】:
有人可以分享如何将dataframe 转换为RDD 吗?
【问题讨论】:
标签: scala apache-spark apache-spark-sql spark-dataframe
有人可以分享如何将dataframe 转换为RDD 吗?
【问题讨论】:
标签: scala apache-spark apache-spark-sql spark-dataframe
简单地说:
val rows: RDD[Row] = df.rdd
【讨论】:
val rows: org.apache.spark.rdd.RDD[org.apache.spark.sql.Row] = df.rdd
如果要将行映射到不同的 RDD 元素,请使用 df.map(row => ...) 将数据帧转换为 RDD。例如
df.map(row => (row(1), row(2)))
给你一个配对的 RDD,其中 df 的第一列是键,df 的第二列是值。
【讨论】:
我只是在寻找我的答案并找到了这篇文章。
Jean 的回答绝对正确,添加“df.rdd”将返回 RDD[Rows]。一旦我得到 RDD,我需要应用 split() 。为此,我们需要将 RDD[Row} 转换为 RDD[String]
val opt=spark.sql("select tags from cvs").map(x=>x.toString()).rdd
【讨论】: