Spark數據分析概念入門

原文地址:框架

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個能夠對不少計算任務、多個工做機器或計算集羣上的應用進行調度、分發以及監控的計算引擎。
其各個組件主要包括:oop

  • 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
相關文章
相關標籤/搜索