Spark Normalizer дает AssertionError: SparkContext должен быть инициализирован первым?

Я использую спарк 1.4.1 и использую pyspark. Вот мой код:

from pyspark.mllib.feature import Normalizer

def make_unit(x):
    nor = Normalizer()
    return (x[0], [x[1][0], x[1][1], x[1][2], nor.transform(x[1][3]),x[1][4]])

rdd_normal = rdd.map(make_unit)

rdd - искра rdd вида (a, [b, c, d, SparseVector, e]).

После выполнения вышеизложенного я получаю эту ошибку: "AssertionError: SparkContext должен быть инициализирован первым". У меня определенно работает спаркконтекст. Я могу делать другие вещи со своими данными и манипулировать другими данными. Тем не менее, когда я запускаю приведенный выше код, он говорит мне, что у меня нет работающего SC. Что я делаю неправильно?

Я просто хочу нормализовать SparseVector, чтобы я мог сделать некоторые косинусные сходства. Я мог бы вычислить скалярное произведение и разделить на нормы, но я не знаю, есть ли встроенная функция для вычисления норм. В любом случае, если бы я должен был сделать nor.transform(v), где v - это SparseVector, я получил бы ожидаемый результат. Однако, используя это в.map(), я получаю вышеуказанную ошибку.

0 ответов

Другие вопросы по тегам