1. 程式人生 > 實用技巧 >1. Spark的安裝及介紹

1. Spark的安裝及介紹

*以下內容由《Spark快速大資料分析》整理所得。

讀書筆記的第一部分是記錄如何安裝Spark?同時,簡單介紹下Spark。

一、Spark安裝

二、Spark介紹

一、Spark安裝

如果是在個人電腦上學習Spark,建議先建個虛擬機器,教程可參考1. 安裝虛擬機器,Hadoop和Hive

在下載Spark之前得確認之前安裝的Hadoop版本是什麼?

# 檢視hadoop版本(這裡我是2.7.7)
hadoop version

然後,去官網下載相容現有hadoop版本的spark並解壓安裝包:

cd~
tar -xf spark-3.0.0-bin-hadoop2.7.tgz
cd spark
-3.0.0-bin-hadoop2.7 ls

現在,安裝好了就可以試執行下Python或Scala版本的Spark shell了:

# 開啟Python版本的Spark shell
cd spark-3.0.0-bin-hadoop2.7
bin/pyspark

# 開啟Scala版本的Spark setshell
bin/spark-shell

二、Spark介紹

“Spark是一個用來實現快速而通用的叢集計算的平臺。”,它一個主要特點是能夠在記憶體中進行計算,因而更快。

1. Spark的核心元件有兩個:驅動器程式(driver program)執行器(executor)

  • 驅動器程式:shell啟動時已自動建立一個SparkContext物件(也稱sc變數)去訪問Spark。有了SparkContext,就可以用它建立RDD(彈性分散式資料集resilient distributed dataset,不能看作是存放著特定資料的資料集,而是看作如何計算資料的指令列表)。
  • 執行器:驅動器程式一般要管理多個執行器節點,不同節點會執行不同的工作,在叢集上實現並行資料分析。
例如Python的行數統計
$bin/pyspark
>>>lines = sc.textFile("README.md") # 使用sc建立一個名為lines的RDD
>>>lines.count() # 執行器統計RDD中元素的個數
108

2. 執行Python指令碼:使用Spark自帶的bin/spark-submit指令碼幫我們引入Python程式的Spark依賴(相當於為Spark的PythonAPI配置好的執行環境)

bin/spark-submit my_python_script.py

3. 在python中初始化Spark:

from pyspark import SparkConf, SparkContext
# 建立一個SparkConf物件來配置你的應用 conf
= SparkConf().setMaster("local").setAppName("My App")
# 基於這個SparkConf建立一個SparkContext物件 sc
= SparkContext(conf = conf)