我不知道如何为非行数据集制作正确的编码器
我正在尝试为每个列中包含不同类型数据的数据集制作编码器,例如ArrayBuffer [(Int,Double)]
这就是我想要做的
case class MyState(code: util.List[Object], idPartition: ArrayBuffer[Int])
def executeStrategy(iter: Iterator[Row]): Iterator[(String,(MyState,util.List[Double]))] = {}
def run(): Unit = {
implicit def enc2 = Encoders.bean(classOf[(String, (MyState, util.List[Double]))])
val data1 = data0.mapPartitions(executeStrategy)(enc2)
}
假定data1的值具有以下类型
val data1: Dataset[(String, (MyState, List[Double]))]
当执行它时,它就是这种类型,但是如果执行data1.show()
,它将变成空,并且预期结果是一个数据集,当我运行data1.show()
时,它会向我显示相应的值