у меня есть искра dataframe, которая имеет вектор в нем:Спарк Scala: Vector Dataframe для РДУ значений
org.apache.spark.sql.DataFrame = [sF: vector]
, и я стараюсь, чтобы преобразовать его в РДУ значений:
org.apache.spark.rdd.RDD[(Double, Double)]
Однако я не смог его правильно преобразовать. Я пробовал:
val m2 = m1.select($"sF").rdd.map{case Row(v1, v2) => (v1.toString.toDouble, v2.toString.toDouble)}
и компилируется, но я получаю сообщение об ошибке выполнения:
scala.MatchError: [[-0.1111111111111111,-0.2222222222222222]] (of class org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema)
когда я делаю:
m2.take(10).foreach(println).
Есть ли что-то я делаю не так?
Спасибо за помощь. Я получаю сообщение об ошибке: Any не принимает параметры при вызове v (2). Любые идеи почему? – mt88
Является ли ваш код в точности равным моему? Или вы опускаете 'v: Vector'? Должен быть явный тип «Вектор». Кроме того, не забывайте об импорте. –
Нет, я вхожу в v: Vector part – mt88