點擊上方「藍色字體」 可快捷關注。
大數據我們都知道hadoop,可是還會各種各樣的技術進入我們的視野:Spark,Storm,impala,讓我們都反映不過來。為了能夠更好 的架構大數據項目,這裡整理一下,供技術人員,項目經理,架構師選擇合適的技術,了解大數據各種技術之間的關係,選擇合適的語言。
我們可以帶著下面問題來閱讀本文章:
1.hadoop都包含什麼技術?
2.星環科技與hadoop的關係是什麼,都有什麼產品,產品有什麼特性?
3.Cloudera公司與hadoop的關係是什麼,都有什麼產品,產品有什麼特性?
4.Spark與hadoop的關聯是什麼?
5.Storm與hadoop的關聯是什麼?
創始人:Doug Cutting
整個Hadoop家族由以下幾個子項目組成:
Hadoop Common:
Hadoop體系最底層的一個模塊,為Hadoop各子項目提供各 種工具,如:配置文件和日誌操作等。
HDFS:
是Hadoop應用程式中主要的分布式儲存系統, HDFS集群包含了一個NameNode(主節點),這個節點負責管理所有文件系統的元數據及存儲了真實數據的DataNode(數據節點,可以有很 多)。HDFS針對海量數據所設計,所以相比傳統文件系統在大批量小文件上的優化,HDFS優化的則是對小批量大型文件的訪問和存儲。
MapReduce:
是一個軟體框架,用以輕鬆編寫處理海量(TB級)數據的並行應用程式,以可靠和容錯的方式連接大型集群中上萬個節點(商用硬體)。
Hive:
Apache Hive是Hadoop的一個數據倉庫系統,促進了數據的綜述(將結構化的數據文件映射為一張資料庫表)、即席查詢以及存儲在Hadoop兼容系統中的大 型數據集分析。Hive提供完整的SQL查詢功能——HiveQL語言,同時當使用這個語言表達一個邏輯變得低效和繁瑣時,HiveQL還允許傳統的 Map/Reduce程式設計師使用自己定製的Mapper和Reducer。hive類似CloudBase,基於hadoop分布式計算平臺上的提供 data warehouse的sql功能的一套軟體。使得存儲在hadoop裡面的海量數據 的匯總,即席查詢簡單化。
Pig:
Apache Pig是一個用於大型數據集分析的平臺,它包含了一個用於數據分析應用的高級語言以及評估這些應用的基礎設施。Pig應用的閃光特性在於它們的結構經得起 大量的並行,也就是說讓它們支撐起非常大的數據集。Pig的基礎設施層包含了產生Map-Reduce任務的編譯器。Pig的語言層當前包含了一個原生語 言——Pig Latin,開發的初衷是易於編程和保證可擴展性。
Pig是SQL-like語言,是在MapReduce上構建的一種高級查詢語言,把一些運算編譯進MapReduce模型的Map和Reduce中,並且用戶可以定義自己的功能。Yahoo網格運算部門開發的又一個克隆Google的項目Sawzall。
HBase:
Apache HBase是Hadoop資料庫,一個分布式、可擴展的大數據存儲。它提供了大數據集上隨機和實時的讀/寫訪問,並針對了商用伺服器集群上的大型表格做出 優化——上百億行,上千萬列。其核心是Google Bigtable論文的開源實現,分布式列式存儲。就像Bigtable利用GFS(Google File System)提供的分布式數據存儲一樣,它是Apache Hadoop在HDFS基礎上提供的一個類Bigatable。
ZooKeeper:
Zookeeper是Google的Chubby一個開源的實現。它是一個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、名字服 務、 分布式同步、組服務等。ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
Avro:
Avro是doug cutting主持的RPC項目,有點類似Google的protobuf和Facebook的thrift。avro用來做以後hadoop的RPC,使hadoop的RPC模塊通信速度更快、數據結構更緊湊。
Sqoop:
Sqoop是一個用來將Hadoop和關係型資料庫中的數據相互轉移的工具,可以將一個關係型資料庫中數據導入Hadoop的HDFS中,也可以將HDFS中數據導入關係型資料庫中。
Mahout:
Apache Mahout是個可擴展的機器學習和數據挖掘庫,當前Mahout支持主要的4個用例:
推薦挖掘:搜集用戶動作並以此給用戶推薦可能喜歡的事物。
聚集:收集文件並進行相關文件分組。
分類:從現有的分類文檔中學習,尋找文檔中的相似特徵,並為無標籤的文檔進行正確的歸類。
頻繁項集挖掘:將一組項分組,並識別哪些個別項會經常一起出現。
Cassandra:
Apache Cassandra是一個高性能、可線性擴展、高有效性資料庫,可以運行在商用硬體或雲基礎設施上打造完美的任務關鍵性數據平臺。在橫跨數據中心的複製 中,Cassandra同類最佳,為用戶提供更低的延時以及更可靠的災難備份。通過log-structured update、反規範化和物化視圖的強支持以及強大的內置緩存,Cassandra的數據模型提供了方便的二級索引(column indexe)。
Chukwa:
Apache Chukwa是個開源的數據收集系統,用以監視大型分布系統。建立於HDFS和Map/Reduce框架之上,繼承了Hadoop的可擴展性和穩定性。 Chukwa同樣包含了一個靈活和強大的工具包,用以顯示、監視和分析結果,以保證數據的使用達到最佳效果。
Ambari:
Apache Ambari是一個基於web的工具,用於配置、管理和監視Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同樣還提供了集群狀 況儀錶盤,比如heatmaps和查看MapReduce、Pig、Hive應用程式的能力,以友好的用戶界面對它們的性能特性進行診斷。
HCatalog
Apache HCatalog是Hadoop建立數據的映射表和存儲管理服務,它包括:
為類似Pig、MapReduce及Hive這些數據處理工具提供互操作性。
Chukwa:
Chukwa是基於Hadoop的大集群監控系統,由yahoo貢獻。
Transwarp系列產品:創始組織:星環科技
1.Transwarp Data Hub(TDH):企業級一站式大數據綜合平臺
有六大優勢
(1)無限水平擴展
(2)統一數據處理平臺
(3)高速數據分析
(4)靈活數據處理
(5)實時流計算
(6)超高性價比
2.Transwarp Hadoop
Transwarp Hadoop 提供基礎的分布式文件系統作為存儲引擎,YARN作為資源管理框架,組合了一系列Apache項目,為用戶提供了數據的採集、存儲、數據同步、批處理、工作流分析以及全文搜索功能,是TDH不可或缺的基石。星環科技改進了Apache YARN資源管理框架,可以在同一個HDFS數據集上動態創建Inceptor交互式分析集群、Map/Reduce批處理集群以及實時流處理集群,提供多部門間資源配額管理、動態資源調配、資源共享的能力,為企業建立一站式數據平臺提供有力支持。
3.Transwarp Inceptor
Transwarp Inceptor交互式分析引擎提供高速SQL分析和R語言數據挖掘能力,可幫助企業建立高速可擴展的數據倉庫和/或數據集市,結合多種報表工具提供交互式數據分析、即時報表和可視化能力。Inceptor提供完整的ANSISQL支持以及PL/SQL過程語言擴展,可以支持複雜的數據倉庫類分析應用,也使得從原有資料庫系統遷移到Hadoop更為容易。
4.Transwarp Hyperbase
Transwarp Hyperbase實時資料庫是建立在ApacheHBase基礎之上,融合了多種索引技術、分布式事務處理、全文實時搜索、圖形資料庫在內的實時NoSQL資料庫。Hyperbase可以高效地支持企業的在線OLTP應用、高並發OLAP應用、批處理應用、全文搜索或高並發圖形資料庫檢索應用,結合Inceptor高速SQL引擎,是企業創建可擴展在線運營資料庫(Operational Database)或者實時分析型資料庫(ODS - Operational Data Store)的最佳選擇。
5.Transwarp Stream
Transwarp Stream實時流處理引擎提供了強大的流計算表達能力,支持複雜的應用邏輯,生產系統的消息通過實時消息隊列進入計算集群,在集群內以流水線方式被依次處理,完成數據轉換、特徵提取、策略檢查、分析告警等複雜服務計算,最終輸出到Hyperbase等存儲集群,實時生成告警頁面、實時展示頁面等。系統具備強擴展性、強容錯、低延遲、高吞吐等特點,成熟應用於實時數據(如傳感器數據)的實時告警、風險控制、在線統計和挖掘等業務。
Cloudera系列產品:創始組織:Cloudera公司
1.Cloudera Manager:
有四大功能
2.Cloudera CDH:英文名稱:CDH (Cloudera’s Distribution, including Apache Hadoop)
Cloudera公司的發行版,我們將該版本稱為CDH(Cloudera Distribution Hadoop)。
3.Cloudera Flume
Flume是Cloudera提供的日誌收集系統,Flume支持在日誌系統中定製各類數據發送方,用於收集數據。
4.Cloudera Impala
Cloudera Impala對你存儲在Apache Hadoop在HDFS,HBase的數據提供直接查詢互動的SQL。
5.Cloudera hue
Hue是cdh專門的一套web管理器,它包括3個部分hue ui,hue server,hue db。hue提供所有的cdh組件的shell界面的接口。
Spark創始組織:加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發Spark 是一種與 Hadoop 相似的開源集群計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了內存分布數據集,除了能夠提供交互式查詢外,它還可以優化迭代工作負載。
Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程式框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕鬆地操作分布式數據集。
儘管創建 Spark 是為了支持分布式數據集上的迭代作業,但是實際上它是對 Hadoop 的補充,可以在 Hadoo 文件系統中並行運行。通過名為 Mesos 的第三方集群框架可以支持此行為。Spark 由加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發,可用來構建大型的、低延遲的數據分析應用程式。
Storm創始人:Twitter
Twitter將Storm正式開源了,這是一個分布式的、容錯的實時計算系統,它被託管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType開發的實時處理系統,BackType現在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure寫的。
掃描下方「二維碼」歡迎關注。