在给出Spark 2.0.0的一个例子的情况下,如何在Spark 1.6.2中创建一个空数据帧?

时间:2017-09-29 07:13:19

标签: 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('id', StringType()),
                                                         StructField('pk', StringType()),
                                                         StructField('le', StringType()),
                                                         StructField('or', StringType())]))

1 个答案:

答案 0 :(得分:1)

对于早期版本的Spark(早于2.0版本),您可以使用HiveContext代替SparkSession,请参阅相关的documentation。设置环境的一个小例子:

from pyspark import HiveContext

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

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