Свойство forEach не существует для типа «Сотрудник»

Альтернативное решение, появившееся пару дней назад: импортируйте VectorDisassembler в свой проект (пока он не будет объединен с Spark), теперь:

import org.apache.spark.ml.feature.VectorAssembler
import org.apache.spark.ml.linalg.Vectors

val dataset = spark.createDataFrame(
  Seq((0, 1.2, 1.3), (1, 2.2, 2.3), (2, 3.2, 3.3))
).toDF("id", "val1", "val2")


val assembler = new VectorAssembler()
  .setInputCols(Array("val1", "val2"))
  .setOutputCol("vectorCol")

val output = assembler.transform(dataset)
output.show()
/*
+---+----+----+---------+
| id|val1|val2|vectorCol|
+---+----+----+---------+
|  0| 1.2| 1.3|[1.2,1.3]|
|  1| 2.2| 2.3|[2.2,2.3]|
|  2| 3.2| 3.3|[3.2,3.3]|
+---+----+----+---------+*/

val disassembler = new org.apache.spark.ml.feature.VectorDisassembler()
  .setInputCol("vectorCol")
disassembler.transform(output).show()
/*
+---+----+----+---------+----+----+
| id|val1|val2|vectorCol|val1|val2|
+---+----+----+---------+----+----+
|  0| 1.2| 1.3|[1.2,1.3]| 1.2| 1.3|
|  1| 2.2| 2.3|[2.2,2.3]| 2.2| 2.3|
|  2| 3.2| 3.3|[3.2,3.3]| 3.2| 3.3|
+---+----+----+---------+----+----+*/

0
задан Amanda C. 30 March 2019 в 23:54
поделиться

1 ответ

Ответ, отправленный @toskv, кажется, что ваш сервис возвращает наблюдаемое, а не наблюдаемое. Вы должны проверить свои типы и apis, чтобы убедиться, что вы правильно интерпретируете ответы.

0
ответ дан Amanda C. 30 March 2019 в 23:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: