在EMR Spark中,我有一个HadoopRDD
org.apache.spark.rdd.RDD[(org.apache.hadoop.io.Text, org.apache.hadoop.dynamodb.DynamoDBItemWritable)] = HadoopRDD[0] at hadoopRDD
我想将其转换为DataFrame org.apache.spark.sql.DataFrame
。
有人知道怎么做吗?
首先将其转换为简单类型。假设您的DynamoDBItemWritable
只有一个字符串列:
val simple: RDD[(String, String)] = rdd.map {
case (text, dbwritable) => (text.toString, dbwritable.getString(0))
}
然后您可以使用toDF
来获得DataFrame:
import sqlContext.implicits._
val df: DataFrame = simple.toDF()