1 implicit
(1) 隐式类型转换
用于自定义类型转换操作
1 | // 定义隐式类型转换操作 |
(2) 隐式接收器转换(代理?)
1 | class Mahadi{ |
(3) 隐式参数注入
1 | def x(implicit a:Int)=a |
Understanding implicit in Scala
Implicit Conversions and Parameters
2 Compilation Encoder error on spark 2.0
版本<= 1.6, Dataset上map直接在底层RDD上操作。
版本>1.6,需指定隐式参数Encoder
三种解决方案:
(1) import spark.implicits._
(2) map前调用.rdd
转换为RDD
(3) 可以使用getAs[数据类型](下标)
获取
3 reduceByKey 和groupByKey
Dataset中没有reduceByKey,可以使用groupByKey
Dataset转换为RDD后可以使用reduceByKey