error pyspark: AttributeError: el objeto ‘SparkSession’ no tiene atributo ‘paralelizar’

Estoy usando pyspark en el cuaderno de Jupyter. Aquí es cómo la configuración de la chispa:

import findspark findspark.init(spark_home='/home/edamame/spark/spark-2.0.0-bin-spark-2.0.0-bin-hadoop2.6-hive', python_path='python2.7') import pyspark from pyspark.sql import * sc = pyspark.sql.SparkSession.builder.master("yarn-client").config("spark.executor.memory", "2g").config('spark.driver.memory', '1g').config('spark.driver.cores', '4').enableHiveSupport().getOrCreate() sqlContext = SQLContext(sc) 

Entonces cuando hago:

 spark_df = sqlContext.createDataFrame(df_in) 

donde df_in es un dataframe de pandas. Entonces me dieron los siguientes errores:

 --------------------------------------------------------------------------- AttributeError Traceback (most recent call last)  in () ----> 1 spark_df = sqlContext.createDataFrame(df_in) /home/edamame/spark/spark-2.0.0-bin-spark-2.0.0-bin-hadoop2.6-hive/python/pyspark/sql/context.pyc in createDataFrame(self, data, schema, samplingRatio) 297 Py4JJavaError: ... 298 """ --> 299 return self.sparkSession.createDataFrame(data, schema, samplingRatio) 300 301 @since(1.3) /home/edamame/spark/spark-2.0.0-bin-spark-2.0.0-bin-hadoop2.6-hive/python/pyspark/sql/session.pyc in createDataFrame(self, data, schema, samplingRatio) 520 rdd, schema = self._createFromRDD(data.map(prepare), schema, samplingRatio) 521 else: --> 522 rdd, schema = self._createFromLocal(map(prepare, data), schema) 523 jrdd = self._jvm.SerDeUtil.toJavaArray(rdd._to_java_object_rdd()) 524 jdf = self._jsparkSession.applySchemaToPythonRDD(jrdd.rdd(), schema.json()) /home/edamame/spark/spark-2.0.0-bin-spark-2.0.0-bin-hadoop2.6-hive/python/pyspark/sql/session.pyc in _createFromLocal(self, data, schema) 400 # convert python objects to sql data 401 data = [schema.toInternal(row) for row in data] --> 402 return self._sc.parallelize(data), schema 403 404 @since(2.0) AttributeError: 'SparkSession' object has no attribute 'parallelize' 

¿Alguien sabe lo que hice mal? ¡Gracias!

SparkSession no reemplaza a SparkContext sino que es equivalente a SQLContext . Solo SQLContext , use el mismo modo en que solía usar SQLContext :

 spark.createDataFrame(...) 

y si alguna vez tiene que acceder a SparkContext use el atributo sparkContext :

 spark.sparkContext 

así que si necesita SQLContext para compatibilidad con versiones anteriores, puede:

 SQLContext(sparkContext=spark.sparkContext, sparkSession=spark)