【发布时间】:2019-02-08 21:54:40
【问题描述】:
我正在测试一些基本的 spark 代码,其中我通过从数据源读取将数据帧转换为数据集。
import org.apache.spark.sql.SparkSession
object RunnerTest {
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder.appName("SparkSessionExample")
.master("local[4]")
.config("spark.sql.warehouse.dir", "target/spark-warehouse")
.getOrCreate
case class Characters(name: String, id: Int)
import spark.implicits._
val path = "examples/src/main/resources/Characters.csv"
val peopleDS = spark.read.csv(path).as[Characters]
}
}
这是太简单的代码,但我收到编译错误提示,
错误:(42, 43) 找不到字符类型的编码器。隐含的 需要 Encoder[Characters] 将 Characters 实例存储在 数据集。原始类型(Int、String 等)和产品类型(案例 类)通过导入 spark.implicits._ 支持 序列化其他类型将在以后的版本中添加。 val peopleDS = spark.read.csv(path).as[Characters]
我正在使用 Spark 2.4 和 sbr 2.12.8。
【问题讨论】:
标签: apache-spark apache-spark-dataset