Scala RDD到数据帧的转换

Scala RDD到数据帧的转换,scala,apache-spark,Scala,Apache Spark,我将一个csv文件读取到RDD,并尝试将其转换为DataFrame。但是,这是错误的 scala> rows.toDF() <console>:34: error: value toDF is not a member of org.apache.spark.rdd.RDD[Array[String]] rows.toDF() scala> rows.take(2) Array[Array[String]] = Arra

我将一个csv文件读取到RDD,并尝试将其转换为DataFrame。但是,这是错误的

scala> rows.toDF()
<console>:34: error: value toDF is not a member of org.apache.spark.rdd.RDD[Array[String]]
              rows.toDF()

scala> rows.take(2)       
    Array[Array[String]] = Array(Array(1, 0, 3, "Braund, ...            
scala>rows.toDF()
:34:错误:值toDF不是org.apache.spark.rdd.rdd[Array[String]的成员
rows.toDF()
scala>行。采取(2)
数组[数组[字符串]]=数组(数组(1,0,3,“Braund。。。

我做错了什么?

当您想要将RDD转换为数据帧时,需要创建SQLContext并导入它的隐式函数,如@zero323

import sqlContext.implicits._
rows.toDF
如果您的RDD是RDD[行],则需要以下内容

import org.apache.spark.sql.Row
rows.map(Row.fromSeq(_)).toDF

这有帮助吗?@Rohit Chatterjee:首先感谢您的快速响应。我检查了一下,大多数投票的答案与我尝试的答案是一样的。那么,我遗漏了什么?在这个答案中,他们的RDD类型是org.apache.spark.sql.Row,而您的RDD类型是Array[String]。您能将其转换为一行吗?如果可以(我觉得您应该能够),然后导入sqlContext.implicits应该可以了。谢谢。我会尝试这样做的