scala - 我收到错误提示没有类型的隐式参数:编码器 []" 在 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()
}
}
解决方案
您需要将功能case class Movies
移出main
,并在import spark.implicits._
之前添加ds1
推荐阅读
- linux - 电子无法运行 linux 应用程序并且找不到 background.js,但 windows 应用程序正在运行
- coinbase-api - API 中的 request_money 失败:coinbase.wallet.error.InvalidRequestError:APIError(id=invalid_request):缺少参数:`type`
- elixir - 使用流合并分块文件会损坏最终文件
- scala - 基于类型参数的具有不同定义的 Scala Trait
- python - 为什么将 np.mean 应用于 pandas 字符串列不会产生错误?
- ethereum - 在 kovan testnet 上的 sushiswap 上将 Usdt 交易到 Dai ON n 的合同不断失败
- ios - 为什么动画属性的视图在开始时位置错误?
- javascript - 有什么方法可以触发滚动事件,例如在滚动条拇指和按钮之间单击?
- ssh - 通过 ssh 将本地机器上的 URL 转发到本地网络上的另一台机器
- sql - 如何在bigquery中聚合结构中的元素