2 DataFrames
和Python的dataframe类似,pyspark也有dataframe,其处理速度远快于无结构的RDD。
Spark 2.0 用 SparkSession 代替了SQLContext。各种 Spark contexts,包括:
HiveContext, SQLContext, StreamingContext,以及SparkContext
全部合并到了SparkSession中,以后仅用这一个包作为读取数据的入口。
2.1 创建 DataFrames
准备工作:
>>> import pyspark
>>> from pyspark.sql import SparkSession
>>> spark = SparkSession.builder \
.appName("Python Spark SQL basic example") \
.config("spark.some.config.option", "some-value") \
.getOrCreate()
>>> sc = spark.sparkContext
首先创建一个 stringJSONRDD的 RDD,然后将它转为一个DataFrame。
>>> stringJSONRDD = sc.parallelize(('''
... {'id':'123',
... 'name':'Katie',
... 'age':19,
... 'eyeColor':'brown'}''',
... '''{'id','234',
... 'name':'Michael',
... 'age':22,
... 'eyeColor':'green'}'