假設你的環境已經安裝好了以下東西,如何詳細的安裝它們不在本文的討論范圍之內
具體的可疑參考三分鍾搞定jupyter和pyspark整合
- anaconda2
- findspark
- pyspark
這里多說一句,spark1.幾的版本以下的只支持python2.幾的支持python2和3.具體是spark2.幾,筆者沒有詳細調查.
如何以不同的模式運行pyspark
我們都知道,spark是分為local,standalone,yarn-client,yarn-cluster等運行模式的.既然想用jupyter,自然是想要交互式的,那么如何以不同的模式來交互呢?
筆者總結如下:
- local模式
import findspark
findspark.init()
from pyspark import SparkContext
sc = SparkContext("local", "First App")
2.standalone
需要傳入地址和端口
import findspark
findspark.init()
from pyspark import SparkContext
sc = SparkContext("spark://192.168.5.129:7077", "First App")
3.yarn-client
import findspark
findspark.init()
from pyspark import SparkContext
sc = SparkContext("yarn-client", "First App")
3.yarn-cluster
cluster模式一般都是開發完成后,直接用來執行用的,不適用於交互模式,筆者也沒有嘗試過.在此就不介紹了.
關於SparkContext
其實SparkContext這個類,每個位置可以傳的參數,是和shell命令行對應的,注意到了這一點,看看文檔就知道每個參數可以接受什么樣的值了.具體內容可以看spark官方文檔.