Spark Scala编码器案例类

时间:2019-03-20 08:19:40

标签: scala apache-spark

我想将DataFrame转换为case类的Dataset。在我的数据集[Product]中的示例中。我在网站上做了很多研究,但没有找到好的解决方案。

我的SparkSession:

lazy val sparkSession: SparkSession =
SparkSession.builder().config(conf).getOrCreate()

我的案例课:

case class Product(product_category: Int,
                   product_name: String
                   )

治疗:

import sparkSession.implicits._
df.select($"product_category",$"product_name").as[Product]

就我而言,使用 sparkSession.implicits ._ 对解决此错误没有影响:

 Error: (33, 31) Unable to find encoder for type Product. An implicit Encoder[Ex2Amount] is needed to store Product instances in a Dataset. Primitive types (Int, String, etc) and Product types (case classes) are supported by importing spark.implicits._  Support for serializing other types will be added in future releases.

如何处理正确的错误?

感谢您的帮助。

0 个答案:

没有答案