首页 > 解决方案 > 我收到错误提示没有类型的隐式参数:编码器 []" 在 Spark

问题描述

我收到一条错误消息,提示 No implicit argument of type:Encoder[Movies] 你能告诉我我哪里出错了,因为我是新来的火花。

我正在尝试读取电影文件并将其转换为具有 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()
    }
}

标签: scalaapache-sparkapache-spark-sqlapache-spark-dataset

解决方案


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


推荐阅读