Python 以Spark 2.0.0为例,如何在Spark 1.6.2中创建空数据帧?

Python 以Spark 2.0.0为例,如何在Spark 1.6.2中创建空数据帧?,python,apache-spark,pyspark,spark-dataframe,Python,Apache Spark,Pyspark,Spark Dataframe,有没有办法用PySpark 1.6.2版而不是2.0.0版替代这行代码来执行它?问题在于Spark 1.6.2中不存在SparkSession cfg = SparkConf().setAppName('s') spark = SparkSession.builder.enableHiveSupport().config(conf=cfg).getOrCreate() df = spark.createDataFrame([], schema=StructType([StructField('i

有没有办法用PySpark 1.6.2版而不是2.0.0版替代这行代码来执行它?问题在于Spark 1.6.2中不存在
SparkSession

cfg = SparkConf().setAppName('s')
spark = SparkSession.builder.enableHiveSupport().config(conf=cfg).getOrCreate()
df = spark.createDataFrame([], schema=StructType([StructField('id', StringType()),
                                                         StructField('pk', StringType()),
                                                         StructField('le', StringType()),
                                                         StructField('or', StringType())]))

对于旧版本的Spark(2.0之前的版本),您可以使用
HiveContext
而不是
SparkSession
,请参阅相关的。设置环境的小示例:

from pyspark import HiveContext

conf = SparkConf().setAppName('s')
sc = SparkContext(conf=conf)
sqlContext = HiveContext(sc)

在此之后,您可以使用
sqlContext
变量以与之前相同的方式创建数据帧。

sqlContext
还应执行以下操作:job@desertnaut正确,
HiveContext
SQLContext
的超集。只要不需要任何附加功能,也可以使用
SQLContext
。由于问题中的代码包含
enableHiveSupport()
I,因此答案中仅包含
HiveContext