Spark資料分析概念入門

我勒個去發表於2018-07-21

原文地址:

http://blog.52sox.com/Spark-d…


在大資料的時代,資料的各種術語層出不窮,比如資料倉儲、資料湖,還有比較熱門的Hadoop、Spark,讓人眼花繚亂。在這裡,我們主要介紹的是Spark,從巨集觀的角度來介紹Spark到底是什麼。
我們將解決如下幾個簡單的問題:

  • Spark是什麼
  • Spark的組成
  • Spark的使用者和用途

下面我們分別進行敘述。

Spark是什麼

首先,我們開始第1個簡單的問題,Spark是什麼?
Spark是什麼,Spark是1個用來實現快速通用的叢集計算的平臺。
在速度方面,Spark擴充套件了廣泛使用的MapReduce計算模型,高效地支援更多計算模型,包括互動式查詢和流處理,並能夠在記憶體中進行計算。
總的來說,Spark適用於各種各樣原先需要在多種不同的分散式平臺下的場景,包括批處理、互動式查詢、流處理。並通過1個統一的框架支援這些不同的計算,大大減輕了原先需要對各種平臺分別管理的負擔。
另外,Spark還提供了豐富的介面(支援Python、Java、Scala)和程式庫外,還能與其他大資料工具密切配合使用,例如執行在Hadoop叢集上。

Spark的組成

Spark專案包含多個緊密整合的元件,其核心是1個可以對很多計算任務、多個工作機器或計算叢集上的應用進行排程、分發以及監控的計算引擎。
其各個元件主要包括:

  • Spark Core,Spark的基本功能,包括任務排程、記憶體管理、錯誤恢復與儲存系統互動等模組,另外還有RDD(對彈性分散式資料集,resilient distributed dataset)的API定義
  • Spark SQL,Spark操作結構化的程式包,用於資料的查詢
  • Spark Streaming,提供對實時資料進行流式計算的元件
  • MLib,提供常見機器學習功能的程式庫
  • GraphX,進行並行圖計算的程式庫
  • 叢集管理器,提供Hadoop YARN,Apache Mesos的支援

Spark的使用者和用途

Spark主要面向兩大目標人群:

  • 資料科學家
  • 工程師

可以用於以下兩方面:

  • 資料科學,更多的主要是資料分析領域,例如統計、機器學習建模、資料轉換
  • 資料處理,通過豐富的介面來快速實現常見的任務以及應用的監視、審查和效能調優

參考書籍:

《Learning Spark:Lightning-fast Data Analysis》P1-6

相關文章