Невозможно получить доступ к внешней переменной в pyspark UDF [duplicate]

7
задан javadba 28 April 2015 в 05:04
поделиться

3 ответа

У меня была такая же ошибка, как и при использовании MLlib, и оказалось, что я вернул неправильный тип данных в одной из моих функций. Теперь он работает после простого нажатия на возвращаемое значение. Возможно, это не тот ответ, который вы ищете, но это, по крайней мере, намек на направление.

9
ответ дан architectonic 3 September 2018 в 13:46
поделиться

Была одна и та же проблема, несколько раз. numpy не имеют неявных преобразований в pyspark.sql.types.

Сделайте простое явное преобразование в систему родного типа. В моем случае это было:

float(vector_a.dot(vector_b)
2
ответ дан Elior Malul 3 September 2018 в 13:46
поделиться

Я получил эту ошибку, используя Spark Version> = 2.0.

Spark переводит MLlib fucntionality в новое пространство имен ML. В результате есть два типа SparseVector: ml.linalg.SparseVector и mllib.linalg.SparseVector

Некоторые функции MLlib по-прежнему ожидают более старый вид mllib

from pyspark.ml.linalg import Vectors
# convert ML vector to older MLlib vector
old_vec = Vectors.fromML(new_vec)

HTH

1
ответ дан stacksonstacks 3 September 2018 в 13:46
поделиться
Другие вопросы по тегам:

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