【大資料技術】——Hadoop(1)
什麼是大資料
基本概念
《資料處理》
在網際網路技術發展到現今階段,大量日常、工作等事務產生的資料都已經資訊化,人類產生的資料量相比以前有了爆炸式的增長,以前的傳統的資料處理技術已經無法勝任,需求催生技術,一套用來處理海量資料的軟體工具應運而生,這就是大資料!
《處理海量資料的核心技術》
海量資料儲存:分散式
海量資料運算:分散式
這些核心技術的實現是不需要使用者從零開始造輪子的,儲存和運算,都已經有大量的成熟的框架來用。
《儲存框架》
HDFS——分散式檔案儲存系統(Hadoop中的儲存框架)
HBASE——分散式資料庫系統
KAFKA——分散式訊息快取系統(實時流式資料處理場景中應用廣泛)
《運算框架》(要解決的核心問題就是幫使用者將處理邏輯在很多機器上並行)
MAPREDUCE—— 離線批處理/Hadoop中的運算框架
SPARK——離線批處理/實時流式計算
STORM —— 實時流式計算
《輔助類的工具》(解放大資料工程師的一些繁瑣工作)
HIVE —— 資料倉庫工具:可以接收sql,翻譯成mapreduce或者spark程式執行
FLUME——資料採集
SQOOP——資料遷移
ELASTIC SEARCH —— 分散式的搜尋引擎
換個角度說,大資料是:
- 有海量的資料
- 有對海量資料進行挖掘的需求
- 有對海量資料進行挖掘的軟體工具(hadoop、spark、storm、flink、tez、impala......)
大資料在現實生活中的具體應用
資料處理的最典型應用:公司的產品運營情況分析
電商推薦系統:基於海量的瀏覽行為、購物行為資料,進行大量的演算法模型的運算,得出各類推薦結論,以供電商網站頁面來為使用者進行商品推薦
精準廣告推送系統:基於海量的網際網路使用者的各類資料,統計分析,進行使用者畫像(得到使用者的各種屬性標籤),然後可以為廣告主進行有針對性的精準的廣告投放