我收到错误消息:Spark 中没有类型的隐式参数:Encoder[ ]"

Shu*_*vek 2 scala apache-spark apache-spark-sql apache-spark-dataset

我收到一条错误消息,提示 Noimplicit argument of type:Encoder[Movies] 你能告诉我哪里出错了,因为我是 Spark 新手。

我正在尝试读取电影文件并将其转换为具有 1 个“ID”列和第二个“电影名称”列的数据集。

import org.apache.spark.sql.SparkSession

object Practice {
    def main(args: Array[String]): Unit = {
        val spark = SparkSession
          .builder()
          .appName("dataFrameExample")
          .master("local")
          .getOrCreate()

    **case class Movies( ID:String, name:String)**

        val ds1 = spark.read
         .format("text")
         .option("header", "true") //first line in file has headers
         .load("C:\\SparkScala\\SparkScalaStudy\\movies").as[Movies]

        ds1.printSchema()
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

您需要将 移出case class Movies函数main,并import spark.implicits._在 之前添加ds1