Как использовать методы разделителя Flinks в Java - PullRequest
2 голосов
/ 05 апреля 2019

В документации flink есть пример использования методов Splitter в scala, который выглядит следующим образом:

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

В Java, однако, я вынужден перейти к дальнейшим аргументам для TypeInformation и ClassTag.Я думаю, что для TypeInformation TypeInformation.of(TypeofDataset.class) является действительным вводом.Но я не могу выяснить, что использовать для второго параметра.

1 Ответ

2 голосов
/ 05 апреля 2019

С учетом этой подписи 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$

Ужасно, нонеобходимо.

...