scala—如何在java中使用flinks拆分器方法

ajsxfq5m  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(222)

flink文档中有一个在scala中使用拆分器方法的示例,如下所示:

// Create an Array of K TrainTestDataSets
val dataKFolded: Array[TrainTestDataSet] =  Splitter.kFoldSplit(data, 10)

然而,在java中,我不得不传递到 TypeInformation 以及 ClassTag . 我想是为了 TypeInformation 这个 TypeInformation.of(TypeofDataset.class) 是有效输入。但我不知道第二个参数用什么。

uqzxnwby

uqzxnwby1#

给这个scala签名

def kFoldSplit[T: TypeInformation : ClassTag](
      input: DataSet[T],
      kFolds: Int,
      seed: Long = Utils.RNG.nextLong()
) : Array[TrainTestDataSet[T]]

java调用将是

Splitter.kFoldSplit(
    data,
    10,
    99,
    TypeInformation.of(TypeofDataset.class),
    ClassTag$.MODULE$.apply(TypeofDataset.class)
)
``` `ClassTag$` 来自

scala.reflect.ClassTag$

很可怕,但很有必要。

相关问题