1. 程式人生 > 其它 >大資料技術

大資料技術

    大資料技術

大資料主要涉及到資料的採集、儲存、計算和分析、以及管理排程。

   資料的採集

   資料儲存

   資料管理排程

   資料計算和分析

大資料技術涉及:資料的採集、預處理、和分散式儲存、以及資料倉庫、機器學習、平行計算和視覺化等方面。

對於大資料技術,應用廣泛的是以hadoop和spark為核心的生態系統。hadoop提供一個穩定的共享儲存和分析系統,儲存由hdfs實現,分析由mapreduce實現,

hadoop子專案

1、hdfs:Hadoop分散式檔案系統,執行與大型商用機叢集

                 hdfs是gfs的開源實現,,提供了在廉價伺服器叢集中進行大規模分散式檔案儲存的能力。

2、hbase:分散式的列儲存資料庫。hbase將hdfs作為底層儲存,同時支援mapreduce的批量計算和點查詢(隨機讀取)

                   hbase是一個建立在hdfs之上,面向列的nosql資料庫。它可用於快速讀寫大量資料,是一個高可靠、高併發讀寫、高效能、面向列、可伸縮和易構建的分散式儲存系統。hbase具有海量資料儲存、快速隨機訪問和大量寫操作等特點。

    在kudu出現之前,hadoop生態環境的儲存主要依賴hdfs和hbase。在追求高吞吐、批處理的場景中,使用hdfs,在追求低延時且隨機讀取的場景中,使用hbase,而kudu正好能相容這兩者。

3、批處理計算的基石:mapreduce

      批處理計算主要解決大規模資料的批量處理問題,是日常資料分析中常見的一類資料處理需求。業界常用的大資料批處理框架有mapreduce\spark\tez\pig等。其中mapdeduce是比較有影響力和代表性的大資料批處理計算框架。它可以併發執行大規模資料處理任務,即用於大規模資料集(大於1tb)的平行計算。mapreduce的核心思想:將一個大資料集拆分成多個小資料集,然後在多臺機器上並行處理。

4、hive:分散式資料倉庫,管理hdfs中儲存的資料,並提供基於sql的查詢語言用於查詢資料

     hive是一個構建在hadoop之上的資料倉庫工具,在某種程度上可以把它看做成使用者程式設計介面,本身並不儲存和處理資料(它依賴hdfs儲存資料,依賴mapreduce等模型框架處理資料)。hive定義了簡單的類似sql的查詢語言-hiveql.當將madreduce作為執行引擎時,通過hiveql語句可以快速完成簡單的mapreduce任務。因此,hiveql適合進行資料倉庫的統計分析。

  hive與傳統資料庫的區別

 

5、zookeeper

 zookeeper是hadoop的一個子項,用來管理hadoop、hive、pig等,zookeeper是開源的分散式協調服務元件,提供高可用、高效能和穩定的分散式資料一致性解決方案。

zookeeper對分散式資料的一致性提供全面的支援,具體包括以下5個特性。順序一致性、原子性、單一性、可靠性、實時性。

 

 

          大資料技術的意義

不在於賬務規模龐大的資料資訊,而在與對這些資料進行智慧處理,從中分析挖掘有價值的資訊。

         大資料採集:保證採集資料的可靠性和資料採集的高效性,要避免資料重複

         大資料計算:主要完成海量資料的並行處理,分析挖掘等面向業務的任務。大資料計算主要涉及批處理框架、流處理框架、互動式分析框架和圖計算等

 

   大資料測試技術

   需要掌握:大資料測試方法論,大資料測試工具、大資料測試技能。

  在大資料專案測試的測試流程中,通常涉及到資料庫測試、基準測試、效能測試和功能測試等,定製清洗的大資料測試策略和計劃有助於專案的成功交付