從這個名字pyspark就可以看出來,它是由python和spark組合使用的.
相信你此時已經電腦上已經裝載了hadoop,spark ,python3.
Spark提供了一個Python_Shell,即pyspark,從而可以以互動的方式使用Python編寫Spark程式。 (推薦學習:Python影片教學)
pyspark裡最核心的模組是SparkContext(簡稱sc),最重要的資料載體是RDD。 RDD就像一個NumPy array或一個Pandas Series,可以視為一個有序的item集合。只不過這些item並不存在driver端的記憶體裡,而是被分割成很多個partitions,每個partition的資料存在叢集的executor的記憶體中。
引入Python中pyspark工作模組
import pyspark from pyspark import SparkContext as sc from pyspark import SparkConf conf=SparkConf().setAppName("miniProject").setMaster("local[*]") sc=SparkContext.getOrCreate(conf) #任何Spark程序都是SparkContext开始的,SparkContext的初始化需要一个SparkConf对象,SparkConf包含了Spark集群配置的各种参数(比如主节点的URL)。初始化后,就可以使用SparkContext对象所包含的各种方法来创建和操作RDD和共享变量。Spark shell会自动初始化一个SparkContext(在Scala和Python下可以,但不支持Java)。 #getOrCreate表明可以视情况新建session或利用已有的session
SparkSession是Spark 2.0引入的新概念。
SparkSession為使用者提供了統一的切入點,讓使用者學習spark的各項功能。在spark的早期版本中,SparkContext是spark的主要切入點,由於RDD是主要的API,我們透過sparkcontext來建立和操作RDD。對於每個其他的API,我們需要使用不同的context。
例如,對於Streming,我們需要使用StreamingContext;對於sql,使用sqlContext;對於hive,使用hiveContext。但是隨著DataSet和DataFrame的API逐漸成為標準的API,就需要為他們建立存取點。所以在spark2.0中,引進SparkSession作為DataSet和DataFrame API的切入點。
SparkSession實質上是SQLContext和HiveContext的組合(未來可能還會加上StreamingContext),所以在SQLContext和HiveContext上可用的API在SparkSession上同樣是可以使用的。 SparkSession內部封裝了SparkContext,所以計算其實是由SparkContext完成的。
更多Python相關技術文章,請造訪Python教學欄位學習!
以上是python有spark庫麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!