相信你此時已經電腦上已經裝載了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教程欄目進行學習!
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com