Преобразование из java.util.List в набор данных spark - PullRequest
0 голосов
/ 28 января 2019

Я все еще очень новичок в Spark и Scala, но очень хорошо знаком с Java.У меня есть java jar, в котором есть функция, которая возвращает список (java.util.List) из Integer, но я хочу преобразовать их в набор данных spark, чтобы я мог добавить его в другой столбец и затем выполнить соединение.Есть ли простой способ сделать это?Я пробовал что-то похожее на этот код:

val testDSArray : java.util.List[Integer] = new util.ArrayList[Integer]()
testDSArray.add(4)
testDSArray.add(7)
testDSArray.add(10)

val testDS : Dataset[Integer] = spark.createDataset(testDSArray, Encoders.INT())

, но это дает мне ошибки компилятора (не удается устранить перегруженный метод)?

1 Ответ

0 голосов
/ 28 января 2019

Если вы посмотрите на сигнатуру типа , вы увидите, что в Scala кодер передается во втором (и неявном) списке параметров.

Вы можете:

Передать его в другой список параметров.

val testDS = spark.createDataset(testDSArray)(Encoders.INT)

Не передавать его, а неявный механизм Scala разрешаетсяit.

import spark.implicits._
val testDS = spark.createDataset(testDSArray)

Преобразование Java списка в один Scala один первый.

import collection.JavaConverters._
import spark.implicits._
val testDS = testDSArray.asScala.toDS()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...