如何为具有特定数据类型的数据集制作编码器?

时间:2019-04-08 19:52:06

标签: scala apache-spark apache-spark-dataset

我不知道如何为非行数据集制作正确的编码器

我正在尝试为每个列中包含不同类型数据的数据集制作编码器,例如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()时,它会向我显示相应的值

0 个答案:

没有答案