1. 程式人生 > >大資料技術原理

大資料技術原理

HDFS:H是hadoop   分散式檔案系統  分散式檔案系統。

Hdfs是Hadoop分散式檔案系統的簡稱,它是Hadoop實現的一個分散式檔案系統。

紗線:管理資源排程

mycat:中介軟體

MapReduce的:分散式,並行處理的編譯原理

 

偽分散式:紗和HDFS部署在同一臺機器上

元件介紹:

Hadoop的核心元件

  1. HDFS ---- Hadoop生態圈的基本組成部分Hadoop分散式檔案系統(HDFS).HDFS是資料分析式儲存機制,資料被儲存在計算機叢集上。資料寫入一次.HDFS為HBase等工具提供了基礎。
  2. MapReduce ----- Hadoop的主要執行框架MapReduce,它是一個分散式,並行處理的程式設計模型.MapReduce把任務分為Map(對映)階段和reduce(化簡)。開發人員使用儲存在HDFS中資料(可實現快速儲存),編寫的Hadoop的MapReduce的任務。由於MapReduce的工作原理的特效,Hadoop的能以並行的方式訪問資料,從而實現快速訪問資料。
  3. Hbase ---- HBase是一個建立HDFS之上,面向列的NoSQL資料庫,用於快速讀/寫大量資料。
  4. Zookeeper ----用於Hadoop的分散式協調服務.Hadoop的許多元件依賴於Zookeeper,它執行在計算機叢集上面,用於管理Hadoop操作。
  5. Oozie ---- Oozie是一個可擴充套件的工作體系,集成於Hadoop的堆疊,用於協調多個MapReduce作業的執行,它能夠管理一個複雜的系統,基於外部事件來執行,外部事件包括資料的定時和資料的出現。
  6. Hive ----- Hive類似於SQL高階語言,用於執行儲存在Hadoop上的查詢語句,然後這些語句被翻譯為Hadoop上面的MapReduce任務。像Pig一樣,Hive作為一個抽象層工具,吸引了很多熟悉SQL而不是Java的程式設計的資料分析師。
  • Hadoop的的生態圈還包括以下幾個框架,用來與其他企業融合

  1. Sqooop是一個連線工具,用於在關係資料庫,資料倉庫和Hadoop的之間轉移資料.Sqoop利用資料庫技術描述架構進行資料的匯入
    /匯出;利用MapReduce的實現並行化執行和容錯技術。
  2. 水槽提供了分散式,可靠,高效的服務,用於收集,彙總大資料,並將單臺計算機的大量資料轉移到HDFS。它基於一個簡單而靈活的架構,並提供了資料流的流。它利用簡單的可擴充套件的資料模型,將企業中多臺計算機上的資料轉移到Hadoop的。
  3. 除核心部件外,Hadoop的生態圈正在不斷增長,以提供更新功能和元件,如以下內容:

Mahout ------- Mahout是一個機器學習和資料探勘庫,它提供的MapReduce包含很多實現,包括聚類演算法,迴歸測試,統計建模。通過使用Apache Hadoop庫,可以將Mahout有效地擴充套件到雲中。

星火生態圈

 

星火特點

  1. 星火是伯克利大學AMPLab壓法的一套開源的資料處理軟體棧,也是當前領域內最活躍,最熱門,最高效的大資料通用計算平臺。
  1. 快速
  2. 易用
  3. 通用
  4. 整合的Hadoop

星火元件

SparkCore

RDD彈性資料集,RDD程式設計介面,RDD關係依賴,StageDAG

SparkStreaming

Spark Streaming基於微批量方式的計算和處理,可以用於處理實時的流資料,它使用DStream,簡單來說就是一個彈性分散式資料集(RDD)系列,處理實時資料。

Spark SQL:

Spark SQL可以通過JDBC API將Spark資料集暴露出去,而且還可以用傳統的BI和視覺化工具在Spark資料上執行類似SQL查詢。使用者還可以用Spark SQL對不同格式的資料(如JSON,Parquet以及資料庫等),執行ETL,將其轉化,然後暴露給特定的查詢。

Spark MLlib

MLlib是一個可擴充套件的星火機器學習庫,有通用的學習演算法和工具組成,包括二分個,分類,線性迴歸,聚類協同過濾,梯度下降以及底層優化原因。用於機器學習和統計等場景

Spark GraphX:

GraphX是用於圖計算和平行計算的新的(alpha)Spark API。

通過引入彈性分散式屬性圖(Reslient Distributed Property Geaph),一種頂點和邊都帶有屬性的有向多重圖,擴充套件火花RDD。為了支援圖計算,GraphX暴露了一個基礎操作符集合(如子圖, joinVertices和aggregateMeassages)和一個經過優化的Pregel API變體。此外,GraphX還包括一個持續增長的用於簡化圖分析任務的圖演算法和構建起集合。