请问有人可以分享如何将dataframe
转换为RDD
吗?
简单来说:
val rows: RDD[Row] = df.rdd
我正在寻找我的答案,偶然发现了这篇帖子。
Jean的回答绝对正确,补充一点:"df.rdd"将返回RDD [Rows]。我需要在得到RDD之后应用split()。为此,我们需要将RDD [Row}转换为RDD [String]。
val opt=spark.sql("select tags from cvs").map(x=>x.toString()).rdd
如果您想将行映射到不同的RDD元素,请使用df.map(row => ...)
将数据框转换为RDD。例如:
df.map(row => (row(1), row(2)))
该函数会给你一个成对的RDD,其中df的第一列是键,第二列是值。
val rows: org.apache.spark.rdd.RDD[org.apache.spark.sql.Row] = df.rdd
。这段代码可以将 DataFrame 转换为 RDD 并显式声明 Row 类型。 - Boern