我在 Scala 上有以下 Spark 代码:
def main(args: Array[String]): Unit = {
val spark = SparkSession.builder.master("local").getOrCreate()
import spark.implicits._
val scheme = new StructType()
.add(new StructField("state_id", IntegerType, true))
.add(new StructField("state", StringType, true))
.add(new StructField("recommendation", StringType, true))
val statesDf: DataFrame = spark.read
.format("jdbc")
.schema(scheme)
.option("driver", "org.postgresql.Driver")
.option("url", "jdbc:postgresql://localhost:5432/postgres")
.option("dbtable", "public.states")
.option("user", "postgres")
.option("password", "postgres")
.load()
statesDf.map(r => Row(r.getInt(0) * 2)).show()
}
我在“地图”功能附近收到错误:
No implicits found for parameter evidence$6: Encoder[Row]
我期望“import Spark.implicits._”足以防止这个问题,但我错了
该
map
函数旨在与(类型化)数据集一起使用。你可以使用
或者
隐式编码器主要适用于原语、它们的序列和产品类型。