我正在尝试从RDD创建一个Dataframe [cassandraRow] ..但我不能因为createDataframe( RDD [Row] ,schema:StructType)需要RDD [Row]而不是RDD [cassandraRow ]
并且根据这个问题的答案 How to convert rdd object to dataframe in spark
(其中一个答案)建议在RDD [Row]上使用toDF()从RDD获取Dataframe,这对我不起作用。我尝试在另一个例子中使用RDD [Row](尝试使用toDF())。
答案 0 :(得分:6)
如果您真的需要这个,您始终可以将数据映射到Spark行:
sqlContext.createDataFrame(
rdd.map(r => org.apache.spark.sql.Row.fromSeq(r.columnValues)),
schema
)
但如果你想要DataFrames
,最好直接导入数据:
val df = sqlContext
.read
.format("org.apache.spark.sql.cassandra")
.options(Map( "table" -> table, "keyspace" -> keyspace))
.load()