Spark AttributeError:“SparkContext”对象没有属性“地图”

Posted

技术标签:

【中文标题】Spark AttributeError:“SparkContext”对象没有属性“地图”【英文标题】:Spark AttributeError: 'SparkContext' object has no attribute 'map' 【发布时间】:2015-03-19 21:31:34 【问题描述】:

我在 Hortonworks Data Platform 2.2 上使用 Spark,我收到以下错误...有什么想法吗?

#!/usr/bin/env python

import sys
import pyspark
from pyspark import SparkContext

if 'sc' not in globals():
    #sc = SparkContext('local[4]', 'pyspark','map')
    sc = SparkContext(appName="PythonKMeans")

nums = sc.map([23,232,1,232,43,43])
squared = nums.map(lambda x: x*x).collect()
for num in squared:
    print num

【问题讨论】:

【参考方案1】:

代替

nums = sc.map([23,232,1,232,43,43])

试试

nums = sc.parallelize([23,232,1,232,43,43])

这告诉 Spark 在集群上分配序列并从中创建一个 RDD。然后,您可以在 RDD 上使用 lambda 函数调用 map,就像在下一行中所做的那样。

【讨论】:

以上是关于Spark AttributeError:“SparkContext”对象没有属性“地图”的主要内容,如果未能解决你的问题,请参考以下文章

AttributeError: 'RDD' 对象没有属性 'show'

AttributeError:SQLContext 实例没有属性“createDataFrame”

spark actions 算子

Spark-广播变量

20.Spark

Spark内核概述