Spark Normalizer提供AssertionError:应该首先初始化SparkContext?

时间:2017-08-23 21:20:22

标签: python apache-spark pyspark similarity normalize

我正在运行spark 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”。我肯定有一个sparkcontext运行。我可以用我的数据做其他事情并操纵其他rdds。然而,当我运行上面的代码时,它告诉我我没有运行SC。我做错了什么?

我只想将SparseVector标准化,以便我可以做一些余弦相似性。我可以计算点积并除以规范,但我不知道是否有用于计算规范的内置函数。无论如何,如果我要做nor.transform(v),其中v是SparseVector,我得到预期的输出。但是,在.map()中使用它时,我得到上述错误。

0 个答案:

没有答案