使用Scala将RDD转换为Spark中的DataFrame

时间:2015-10-08 18:27:45

标签: scala apache-spark type-conversion rdd spark-dataframe

我有textRDD: org.apache.spark.rdd.RDD[(String, String)]

我想将其转换为DataFrame。列对应于每个页面(行)的标题和内容。

2 个答案:

答案 0 :(得分:1)

使用toDF(),如果有,请提供列名称。

val textDF = textRDD.toDF("title": String, "content": String)
textDF: org.apache.spark.sql.DataFrame = [title: string, content: string]

val textDF = textRDD.toDF()
textDF: org.apache.spark.sql.DataFrame = [_1: string, _2: string]

shell自动导入(我使用的是1.5版),但在应用程序中可能需要import sqlContext.implicits._

答案 1 :(得分:0)

我通常会这样做:

创建一个这样的案例类:

case class DataFrameRecord(property1: String, property2: String)

然后您可以使用map使用案例类转换为新结构:

rdd.map(p => DataFrameRecord(prop1, prop2)).toDF()