1. 程式人生 > >大資料學習筆記

大資料學習筆記

在學習大資料之前,我們需要先了解什麼是大資料

      大資料(Big Data)又稱為巨量資料,指需要新處理模式才能具有更強的決策力、洞察力和流程優化能力的海量、高增長率和多樣化的資訊資產。“大資料”概念最早由維克托·邁爾·舍恩伯格和肯尼斯·庫克耶在編寫《大資料時代》中提出,指不用隨機分析法(抽樣調查)的捷徑,而是採用所有資料進行分析處理。大資料是一個數據的集合,能夠反映一段時間內某一樣本內的活動趨勢,是現代社會一種極具價值的資訊資產。大資料現在廣泛應用於商業領域,藉以實現精準營銷,預測趨勢,實現商業利益的最優與最大。

    大資料及四個特點:

         1.資料容量大:它能夠處理PB級以上的資料

         2.資料型別多:它可以儲存多種格式的資料

         3.資料存取快:在海量資料處理面前必然要擁有更加快速的存取能力

         4.資料應用價值高:他可以將大量無用資料處理成有用資料

那麼在如此大量的資料面前我們應該如何儲存並快速存取資料呢?

 

我將大資料目前流行元件大概分為兩大類:

         1.儲存元件:Hadoop(分散式儲存和計算平臺)、HDFS(分散式檔案系統)、Nosql(分散式資料庫)

         2.分析元件(及計算元件):MapReduce(分散式計算框架)、MPP(大規模並行處理系統)、Spark(輕量級的分散式記憶體計算系統)、S4和Storm(流計算框架)

一.Hadoop

    Hadoop是一個分散式檔案系統和並行執行環境,他可以讓使用者更加便捷的處理海量的資料。Hadoop的元件主要有:1.分散式檔案系統HDFS、2.平行計算框架MapReduce、3.資料倉庫工具Hive。這些是我們需要重點學習的也是運用最廣泛的

    Hadoop平臺搭建:https://blog.csdn.net/qq_39562468/article/details/83381571

    Hadoop平臺基礎命令https://blog.csdn.net/qq_39562468/article/details/83903463

    在Hadoop平臺啟動完成後我們可以看見幾個程序分別是NameNode、SecondaryNameNode、DataNode、NodeManager、ResourceManager。那麼這些程序分別是幹嘛的呢

    1、NameNode

維護檔案系統樹及整棵樹內所有的檔案和目錄。這些資訊永久儲存在本地磁碟的兩個檔案中:名稱空間映象檔案、編輯日誌檔案。

記錄每個檔案中各個塊所在的資料節點資訊,這些資訊在記憶體中儲存,每次啟動系統時重建這些資訊。

負責響應客戶端的資料塊位置請求。也就是客戶端想存資料,應該往哪些節點的哪些塊存;客戶端想取資料,應該到哪些節點取。

接受記錄在資料存取過程中,datanode節點報告過來的故障、損壞資訊。

    2. SecondaryNameNode

實現namenode容錯的一種機制。定期合併編輯日誌與名稱空間映象,當namenode掛掉時,可通過一定步驟進行上頂。

    3.DataNode

根據需要存取並檢索資料塊並定期向namenode傳送其儲存的資料塊列表。

    4.ResourceManager

負責Job的排程:將一個任務與一個NodeManager相匹配。也就是將一個MapReduce之類的任務分配給一個從節點的NodeManager來執行。

5.NodeManager:

執行ResourceManager分配的任務,同時將任務進度向application master報告。

未待完