1. 程式人生 > >spark概念詳解以及四大核心介紹!!!

spark概念詳解以及四大核心介紹!!!

Spark特點:

  • 大資料分散式計算框架,記憶體計算
  • 分散式計算
  • 記憶體計算 中間結果在記憶體 迭代
  • 容錯性
  • 多計算正規化
四大核心擴充套件功能:
Spark SQL:Sql on hadoop系統,提供互動式查詢、能夠利用傳統的視覺化工具
在Spark上進行類似SQL的查詢操作,報表查詢等功能
GraphX:圖計算引擎,大規模圖運算,pagerank

MLlib:聚類分類 分類 推薦 等機器學習演算法


*Application(應用程式)

    就是你自己的編寫的程式程式碼,其中包含了驅動(Driver)部分和執行部分(Executor)這倆部分,注意!!一個spark叢集可以同時有很多Application
*Driver(驅動程式)

    就是上一個概念的裡的Application的mian函式(一定要有SparkContext),其中SC是為了準備程式的執行環境(主要與ClusterManager通訊),進行資源的排程分配以及監控等。(Ps:一般的SparkContext就是代表Driver)。
*Worker(工作節點)
    這個這是開始配置的slaves檔案機器,是master的小弟,它裡面放的是Executor
*Executor(執行程序)
    Application就是執行在Worker節點的程序,這個程序負責執行Task,並且將資料存在記憶體或者磁碟上,在後面spark on yarn 程序名字是CoarGraineExecutorBackend,說白了就是真正執行的時候是在這個上面執行,然後將結果返回到寫Application的機器上。
*Cluster Manager

    根據字面理解就是資源管理器,一般的我們初學都是使用standalone就是spark的原生管理,還有hadoop yarn以後會用到,Mesos等資源管理器


************************介紹一個小白自己發現的細節(大佬忽略!!!)********************************

我在自己學習的時候有個時候檔案比較大800M左右,最後我把它列印了,然後就報錯了!!!偷笑,後來瞭解到我們遠端提交的job,叢集會在結束之後看我們要不要求檢視結果,如果你最就是是要求檢視,輸出資料量太大,記憶體容易爆掉!!如果以後開發輸出結果一般很大我們應該避免使用直接列印結果,我們應該養成將計算結果持久化在硬碟上的好習慣