我正在尝试将RDD转换为scala中的DataFrame,如下所示
val posts = spark.textFile("~/allPosts/part-02064.xml.gz")
import org.apache.spark.SparkContext._
import org.apache.spark._
import org.apache.spark.rdd._
import org.apache.spark.SparkContext._
val sqlContext = new org.apache.spark.sql.SQLContext(spark)
import sqlContext.implicits._
posts.map(identity).toDF()
当我这样做时,我收到以下错误。
java.lang.NoSuchMethodError: org.apache.spark.sql.SQLContext$implicits$.stringRddToDataFrameHolder(Lorg/apache/spark/rdd/RDD;)Lorg/apache/spark/sql/DataFrameHolder;
我不能为我的生活弄清楚我做错了什么。
答案 0 :(得分:0)
您需要定义一个模式,通过Reflection方法或通过编程方式将RDD转换为Dataframe。
关于Dataframes-Dataframe的一个非常重要的观点是带有模式的RDD。在您的情况下,定义案例类并将文件的值映射到该类。希望它会有所帮助