[Spark] Hello Spark

這裏只使用Spark的Python操做和接口,其餘語言應爲不熟悉,因此先不寫在這裏。python

Spark 部署

能夠直接從官方網站下載 pre-build 版本,能夠直接在電腦上運行,離線安裝也是能夠的,好比說針對Python 2.7linkshell

解壓:apache

tar zxvf spark-2.1.0-bin-hadoop2.7.tgz

解壓以後,其目錄爲以下:小程序

$ ls
LICENSE     README.md   conf        jars        sbin
NOTICE      RELEASE     data        licenses    yarn
R       bin     examples    python

其中的幾個目錄能夠先認識一下:bash

  • bin : 這個目錄中包含用來和Spark交互的可執行文件
  • README.md : 是一個Spark 的說明文件。
  • examples : 包含一些能夠查看和運行的例子程序,對學習Spark的API頗有幫助。

Spark 的 Python Shell

在Spark的目錄下,執行:分佈式

./bin/pyspark

便可載入Python Shell,成功以後的界面以下:函數

PythonShell

到這就表明Spark完成了部署,可使用 Control + D 退出 SparkShell。oop

第一段小程序

在解釋器中執行下面的一段程序試試:學習

>>> lines = sc.textFile("README.md")
>>> pythonLines = lines.filter(lambda line: "Python" in line)

上面兩行代碼分別爲:網站

  1. 經過 SparkContext 對象 sc ,從README.md文件建立一個 文本文件類型的 RDD
  2. 從名爲 lines 的RDD中 篩選出 包含字符串"Python"的行,組成新的RDD。

下面解釋 RDDSparkContext 這兩個名詞:

  • SparkContext : 從上層來看,每一個Spark應用都有一個驅動程序來發起集羣上的各類並行操做。驅動程序包含應用的main函數,而且定義了集羣上的分佈式數據集,還對這些分佈式數據集應用了相關操做。在這個例子中,實際的驅動程序就是SparkShell自己,你只須要輸入想要運行的操做就能夠了。shell啓動的時候已經自動建立了一個SparkContext對象,名字爲sc
  • RDD : 在Spark中,咱們經過對分佈式數據集的操做來表達咱們的計算意圖,這樣的數據集被稱爲彈性分佈式數據集(Resilient Distributed Dataset),簡稱RDD。

而後能夠用執行 .first().count() 兩個方法來查看:

first-and-count

相關文章
相關標籤/搜索