1. 程式人生 > >Spark學習(一)基礎介紹

Spark學習(一)基礎介紹

發展

這裡寫圖片描述

spark是什麼

這裡寫圖片描述

2、一個大一統的軟體棧

Spark核心
    計算引擎
        對由很多計算任務組成的、執行在多個工作機器或者是一個計算叢集上的應用排程、分發以及監控的計算引擎
        速度快、通用
Spark專案包含多個密切組成的元件
    優點1:軟體棧中所有的程式庫和高階元件都可以從下層的改進中獲益
    優點2:執行整個軟體棧的代價變小了
    優點3:能夠構建出無縫整合不同處理模型的應用
Spark的各個元件

1

    Spark Core 
        實現了Spark的基本功能
        包含:任務排程、記憶體管理、錯誤恢復、與儲存系統互動等模組
        包含:對彈性分散式資料集RDD的API定義
            RDD表示
                分佈在多個計算機節點上可以並行操作的元素集合
                是Spark的主要程式設計物件
                SparkCore提供了建立和操作這些集合的多個API
    SparkSQL
        用來操作結構化資料的程式包
        通過它我們可以使用
            SQL or Apache Hive版本的SQL方言(HQL)查詢資料
        支援多種資料來源
            比如:Hive表、Parquet、JSON等
        為Spark提供了一個SQL介面
            實在Spark1.0中被引用的
    Spark Streaming
        Spark提供的對實時資料進行流式計算的元件
        提供了用來操作資料流的API
        與SparkCore中的RDD API高度對應
        底層設計來看:它支援與Spark Core同級別的容錯性、吞吐量以及可伸縮性
    MLlib
        機器學習ML功能的程式庫
        提供了很多種機器學習演算法
            分類
            迴歸
            聚類
            協同過濾等
    GraphX
        用來操作圖的程式庫
        可以進行並行的圖計算
        擴充套件了Spark的RDD API
            用來建立一個頂點和邊都包含任意屬性的有向圖
    叢集管理器
        支援在各種叢集管理器(cluster manager)上執行
        包括:Hadoop YARN、Apache Mesos、以及Spark自帶的獨立調器