pyspark : NameError: 名称 ‘spark’ 未定义

我正在从官方文档网站复制pyspark.ml的示例:http://spark.apache.org/docs/latest/api/python/pyspark.ml.html#pyspark.ml.Transformer

data = [(Vectors.dense([0.0, 0.0]),), (Vectors.dense([1.0, 1.0]),),(Vectors.dense([9.0, 8.0]),), (Vectors.dense([8.0, 9.0]),)]df = spark.createDataFrame(data, ["features"])kmeans = KMeans(k=2, seed=1)model = kmeans.fit(df)

然而,上面的示例无法运行,并给出了以下错误:

---------------------------------------------------------------------------NameError                                 Traceback (most recent call last)<ipython-input-28-aaffcd1239c9> in <module>()      1 from pyspark import *      2 data = [(Vectors.dense([0.0, 0.0]),), (Vectors.dense([1.0, 1.0]),),(Vectors.dense([9.0, 8.0]),), (Vectors.dense([8.0, 9.0]),)]----> 3 df = spark.createDataFrame(data, ["features"])      4 kmeans = KMeans(k=2, seed=1)      5 model = kmeans.fit(df)NameError: name 'spark' is not defined

需要设置哪些额外的配置/变量来运行这个示例?


回答:

由于您调用的是createDataFrame(),您需要这样做:

df = sqlContext.createDataFrame(data, ["features"])

而不是这样:

df = spark.createDataFrame(data, ["features"])

spark在这里代表的是sqlContext


一般来说,有些人将其称为sc,所以如果上述方法不起作用,您可以尝试:

df = sc.createDataFrame(data, ["features"])

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注