1、什么是(數據)計算?
2、分布式(數據)計算
(1)概念
? ? ? ? 顧名思義,分布式計算,即以分布式的形式完成數據的統計,得到需要的結果。
? ? ? ? 分布式數據計算,顧名思義,就是“以多取勝”,如果一個問題使用一臺計算機計算需要耗時1天,那我們就是用幾百個數據節點來計算。
(2)我們為什么要使用分布式計算?
? ? ? ? 在計算和處理數據時,我們為什么要使用分布式計算,不能用“計算器”來計算嗎?
其實,使用什么方式來處理數據,并不是由我們決定的,是由數據本身決定的。
3、分布式(數據)計算模式
(1)基礎模式
~分散——>匯總模式
? ? ? ? 將一個數據分配給許多服務器,每一個服務器分配到一部分的數據,當它們將數據處理完成,將它們各自處理的數據結果向其中一臺服務器進行匯報,由該臺服務器做歸納總結。生活中的人口普查就是一個典型的例子。
~中心調度——>步驟執行模型
? ? ? ? 將一個數據分配給許多服務器,每一個服務器分配到一部分的數據,由一臺服務器進行調度,當該臺服務器發出“第一階段”的命令時,各個節點的服務器開始第一階段數據的計算,在第一階段數據計算完成后,各個節點之間相互交換數據,再開始第二階段數據的計算,在最后一個階段數據計算完成后,由主節點進行匯總結果。
? ? ? ? 注意:
? ? ? ? 在第一階段數據計算結束后,各個節點之間需要交換數據,才能進行下一階段的計算。
? ? ? ? 相對于分散——>匯總模式,中心調度——>步驟執行模式,中間各個節點之間會進行交換數據,各個節點負責的數據是動態的,或者某個節點開啟下一個階段計算的要求,是另一個階段該階段的計算數據。如工作中的項目經理與項目成員就是一個典型的例子。
(2)常見框架
? ? ? ? hadoop系統中的MapReduce使用的就是分散——>匯總框架,但是大數據體系中的一些明星框架,使用的多是中心調度——>步驟執行模式,如Apache Spark,Apache Flink使用的就是中心調度——>步驟執行模式。