1. 程式人生 > >【Spark】快速簡介

【Spark】快速簡介

兩個要點:

  • 快速通用的計算機系統叢集,用於大規模資料處理
  • 高層API可用Java,Scala,Python以及R

Spark上的庫:

  • Spark SQL: 資料庫操作
  • Spark Streaming: 流計算
  • MLlib: 機器學習庫
  • GraphX: 圖計算
  • SparkR

Spark的語義抽象/概念

  • RDD: Resilient Distributed Dataset,彈性分散式資料庫
  • DAG: 有向無環圖
  • SparkContext
  • Transformations
  • Actions

這些概念後面陸續展開。

大資料解決方案

包含多個重要元件:

  • 硬體層:

    • 儲存
    • 計算
    • 網路
  • 資料引擎:大腦

  • 統計、計算演算法

  • 資料視覺化(分析層)

Spark起源

2009年,Matei在進行博士研究時創立,基於記憶體的基本型別,可以為應用程式帶來100倍的效能提升。使用者可以將資料載入到叢集記憶體用來反覆查詢,非常適用於大資料和機器學習。

Spark只是一個通用計算框架,利用Spark實現的應用才是其真正價值所在。

Spark的三個優點

  • 易用,高層API剝離了對叢集的關注,可以專注於計算本身
  • 快,且支援互動式使用和複雜演算法
  • 通用,Spark是通用引擎,可以完成各種各樣的計算
    • SQL查詢
    • 文字處理
    • 機器學習

學習Spark,只有一臺電腦也是可以的。

學習目標:

  • 搭建Spark叢集
  • 使用Spark Shell
  • 編寫Spark應用解決並行問題

END.

參考:
https://www.youtube.com/watch?v=TgiBvKcGL24&list=PLbk_EDDIZpfYHlJ_mnyWFgt1CeTPZXXTD

https://github.com/databricks/learning-spark