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



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

我想把它转换成一个数据框架。列对应于每页(行)的标题和内容。

使用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._

我通常这样做:

创建一个像这样的case类:

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

然后可以使用case类将map转换为新的结构:

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

相关内容

  • 没有找到相关文章