1. 程式人生 > >【大資料技術】——Hadoop(1)

【大資料技術】——Hadoop(1)

什麼是大資料

基本概念

《資料處理》

在網際網路技術發展到現今階段,大量日常、工作等事務產生的資料都已經資訊化,人類產生的資料量相比以前有了爆炸式的增長,以前的傳統的資料處理技術已經無法勝任,需求催生技術,一套用來處理海量資料的軟體工具應運而生,這就是大資料!

《處理海量資料的核心技術》

        海量資料儲存:分散式

        海量資料運算:分散式

這些核心技術的實現是不需要使用者從零開始造輪子的,儲存和運算,都已經有大量的成熟的框架來用。

《儲存框架》

        HDFS——分散式檔案儲存系統(Hadoop中的儲存框架)

        HBASE——分散式資料庫系統

        KAFKA——分散式訊息快取系統(實時流式資料處理場景中應用廣泛)

《運算框架》(要解決的核心問題就是幫使用者將處理邏輯在很多機器上並行)

        MAPREDUCE—— 離線批處理/Hadoop中的運算框架

        SPARK——離線批處理/實時流式計算

        STORM —— 實時流式計算

《輔助類的工具》(解放大資料工程師的一些繁瑣工作)

        HIVE —— 資料倉庫工具:可以接收sql,翻譯成mapreduce或者spark程式執行

        FLUME——資料採集

        SQOOP——資料遷移

        ELASTIC SEARCH —— 分散式的搜尋引擎

    換個角度說,大資料是:

  1. 有海量的資料
  2. 有對海量資料進行挖掘的需求
  3. 有對海量資料進行挖掘的軟體工具(hadoop、spark、storm、flink、tez、impala......)

大資料在現實生活中的具體應用

資料處理的最典型應用:公司的產品運營情況分析

電商推薦系統:基於海量的瀏覽行為、購物行為資料,進行大量的演算法模型的運算,得出各類推薦結論,以供電商網站頁面來為使用者進行商品推薦

精準廣告推送系統:基於海量的網際網路使用者的各類資料,統計分析,進行使用者畫像(得到使用者的各種屬性標籤),然後可以為廣告主進行有針對性的精準的廣告投放