目的:
一、瞭解大數據主流技術的基本原理及技術特色,從而把握各類大數據計算框架及將來發展方向,在大數據時代能爲企業的技術選型及架構設計提供決策參考。
二、瞭解主流大數據技術應用基礎、技術特徵和使用場景等。
三、瞭解最新的大數據系統工具以及大數據處理的基本過程和方法。
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:低延遲的流式數據處理
*離線計算的補充
*業務發展和技術進步的必然需求
√ 關鍵技術點:分佈式數據、低延遲技術併發