我有textRDD: org.apache.spark.rdd.RDD[(String, String)]
我想将其转换为 DataFrame。列对应于每页(行)的标题和内容。
我有textRDD: org.apache.spark.rdd.RDD[(String, String)]
我想将其转换为 DataFrame。列对应于每页(行)的标题和内容。
使用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 class DataFrameRecord(property1: String, property2: String)
然后您可以使用 map 使用 case 类转换为新结构:
rdd.map(p => DataFrameRecord(prop1, prop2)).toDF()