在pyspark中创建数据框时,'PipelinedRDD'对象没有属性'sparkSession'

时间:2017-10-19 08:16:07

标签: python apache-spark dataframe pyspark spyder

我在Spyder Python IDE中使用Pyspark,我正在尝试执行下一个代码片段:

prueba_2 = sqlContext.createDataFrame(...)

但是当我运行它时,我得到了下一个错误:

AttributeError: 'PipelinedRDD' object has no attribute 'sparkSession'

我还有下一个代码片段:

conf=SparkConf()

conf.set("spark.executor.memory", "1g")

conf.set("spark.cores.max", "2")

conf.setAppName("name")
sc = SparkContext('local', conf=conf) 

spark = SparkSession\
 .builder\
 .appName("name")\
 .getOrCreate()

发生了什么事?我如何解决它?

1 个答案:

答案 0 :(得分:1)

无需使用SparkContextSparkSession来初始化Spark。由于SparkSession是较新的推荐方式,因此请使用:

spark = SparkSession\
  .builder\
  .config("spark.executor.memory","1g")\
  .config("spark.cores.max","2")\
  .appName("name")\
  .getOrCreate()
然后可以通过以下方式访问

createDataFrame

prueba_2 = spark.createDataFrame(...)

如果您必须使用基础SparkContext,则可以执行spark.sparkContext