Spark(一) 架構及生態
- 一般當須要處理的數據量超過了單機尺度(好比咱們的計算機有4GB的內存,而咱們須要處理100GB以上的數據)這時咱們能夠選擇spark集羣進行計算,有時咱們可能須要處理的數據量並不大,可是計算很複雜,須要大量的時間,這時咱們也能夠選擇利用spark集羣強大的計算資源,並行化地計算,其架構示意圖以下:
- Spark Core:包含Spark的基本功能;尤爲是定義RDD的API、操做以及這二者上的動做。其餘Spark的庫都是構建在RDD和Spark Core之上的
- Spark SQL:提供經過Apache Hive的SQL變體Hive查詢語言(HiveQL)與Spark進行交互的API。每一個數據庫表被當作一個RDD,Spark SQL查詢被轉換爲Spark操做。
- Spark Streaming:對實時數據流進行處理和控制。Spark Streaming容許程序可以像普通RDD同樣處理實時數據
- MLlib:一個經常使用機器學習算法庫,算法被實現爲對RDD的Spark操做。這個庫包含可擴展的學習算法,好比分類、迴歸等須要對大量數據集進行迭代的操做。
- GraphX:控制圖、並行圖操做和計算的一組算法和工具的集合。GraphX擴展了RDD API,包含控制圖、建立子圖、訪問路徑上全部頂點的操做
- Spark架構的組成圖以下:
歡迎關注本站公眾號,獲取更多信息