目的:
1、了解大數據主流技術的基本原理及技術特點,從而把握各種大數據計算框架及未來發展方向,在大數據時代能為企業的技術選型及架構設計提供決策參考。
2、了解主流大數據技術應用基礎、技術特征和使用場景等。
3、了解最新的大數據系統工具以及大數據處理的基本過程和方法。
1)大數據關鍵技術介紹
√ 分三類:存儲(如:分布式緩存、基於MPP的分布式數據庫、分布式文件系統、各種NoSQL分布式存儲方案,內存數據庫等)、計算(如:MapReduce、流計算、圖計算)、應用(如:HIVE,pig,mahout,Sqoop以及ETL工具,統計與報告工具等)
√ Hadoop 是目前最為流行的大數據技術。除了Hadoop,還有很多針對大數據的處理工具。這些工具有些是完整的平台,有些則是專門針對特定的大數據處理應用。下表歸納總結了現今一些主流的處理平台和工具:
2)離線計算框架和應用場景
√ 簡 介:Hadoop分布式存儲+分布式運算的框架,可以對海量數據進行統計分析,解決單節點極限性。
√ 示 例:通過編寫MapReduce可以批量統計某個地域的車輛里程情況、道路等級,通過速度判斷車型、車輛駕駛情況等,使用Hive做數據倉庫,可以統計最近一年或者兩年的數據,進行數據的建模和歷史數據的統計和分析。
√ 應用場景:
*大數據的處理:幾GB,上TP的大量數據的計算。
*非實時:應用在非實時處理的場景,離線處理是需要時間,一般是1小時,或者隔天。
*高並發:大量數據的高並發,大量的處理和計算的進程數。
3)流式計算框架和應用場景
√ 來自於一個信念:數據的價值隨着時間的流逝而降低,所以事件出現后必須盡快地對它們進行處理,最好數據出現時便立刻對其進行處理,發生一個事件進行一次處理,而不是緩存起來成一批再處理。
√ 流計算 的 概念:
*流計算是針對流式數據的實時計算。
*流式數據(流數據):是指將數據看作數據流的形式來處理。數據流是在時間分布和數量上無限的一系列動態數據集合體;數據記錄是數據流的最小組成單元。
*流數據具有數據實時持續不斷到達、到達次序獨立、數據來源眾多格式復雜、數據規模大且不十分關注存儲、注重數據的整體價值而不關注個別數據等特點。
√ 流式計算產品:
*Yahoo的S4:S4是一個通用的、分布式的、可擴展的、分區容錯的、可插拔的流式系統,Yahoo!開發S4系統,主要是為了解決:搜索廣告的展現、處理用戶的點擊反饋。
*Twitter的storm:Twitter的storm:Storm是一個分布式的、容錯的實時計算系統。
>>Storm用途:可用於處理消息和更新數據庫(流處理),在數據流上進行持續查詢,並以流的形式返回結果到客戶端(持續計算),並行化一個類似實時查詢的熱點查詢(分布式的RPC)。
√ 應用場景
4)內存計算框架和應用場景
√ what:現今技術已可以實現在服務器的主內存中處理超大量的實時數據,從分析和交易中提供即時數據。
√ 應用:
5)實時請求框架和應用場景
√ what:低延遲的流式數據處理
*離線計算的補充
*業務發展和技術進步的必然需求
√ 關鍵技術點:分布式數據、低延遲技術