Hadoop 的生態系統
![]() |
https://www.非死book.com/hadoopers |
在一些 Teiid 的一些文章和示例上都會有關于 JBoss Data Virtualization (Teiid) 通過 Hive 使用 Hadoop 作為數據源的信息。當使用 Hadoop 環境創建 Data Virtualization 示例時,比如 Hortonworks Data Platform, Cloudera Quickstart 等等,里面會包含大量的開源項目。本篇文章主要是對 Hadoop 生態系統有個初步的認識,以下的一些開源項目詳情可以查看 hadoop ecosystem table。
Map Reduce -MapReduce 是使用集群的并行,分布式算法處理大數據集的可編程模型。Apache MapReduce 是從 Google MapReduce 派生而來的:在大型集群中簡化數據處理。當前的 Apache MapReduce 版本基于 Apache YARN 框架構建。YARN = “Yet-Another-Resource-Negotiator”。YARN 可以運行非 MapReduce 模型的應用。YARN 是 Apache Hadoop 想要超越 MapReduce 數據處理能力的一種嘗試。
HDFS - The Hadoop Distributed File System (HDFS) 提供跨多個機器存儲大型文件的一種解決方案。Hadoop 和 HDFS 都是從 Google File System (GFS) 中派生的。Hadoop 2.0.0 之前,NameNode 是 HDFS 集群的一個單點故障 (SPOF) 。利用 Zookeeper,HDFS 高可用性特性解決了這個問題,提供選項來運行兩個重復的 NameNodes,在同一個集群中,同一個 Active/Passive 配置。
HBase - 靈感來源于 Google BigTable。HBase 是 Google Bigtable 的開源實現,類似 Google Bigtable 利用 GFS 作為其文件存儲系統,HBase 利用 Hadoop HDFS 作為其文件存儲系統;Google 運行 MapReduce 來處理 Bigtable 中的海量數據,HBase 同樣利用 Hadoop MapReduce 來處理 HBase 中的海量數據;Google Bigtable 利用 Chubby 作為協同服務,HBase 利用 Zookeeper 作為對應。
Hive - 非死book 開發的數據倉庫基礎設施。數據匯總,查詢和分析。Hive 提供類似 SQL 的語言 (不兼容 SQL92):HiveQL。
Pig - Pig 提供一個引擎在 Hadoop 并行執行數據流。Pig 包含一個語言:Pig Latin,用來表達這些數據流。Pig Latin 包括大量的傳統數據操作 (join, sort, filter, etc.),也可以讓用戶開發他們自己的函數,用來查看,處理和編寫數據。Pig 在 hadoop 上運行,在 Hadoop 分布式文件系統,HDFS 和 Hadoop 處理系統,MapReduce 中都有使用。Pig 使用 MapReduce 來執行所有的數據處理,編譯 Pig Latin 腳本,用戶可以編寫到一個系列,一個或者多個的 MapReduce 作業,然后執行。Pig Latin 看起來跟大多數編程語言都不一樣,沒有 if 狀態和 for 循環。
Zookeeper - ZooKeeper 是 Hadoop 的正式子項目,它是一個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、分布式同步、組服務等。ZooKeeper 的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。Zookeeper 是 Google 的 Chubby 一個開源的實現.是高有效和可靠的協同工作系統。Zookeeper 能夠用來 leader 選舉,配置信息維護等.在一個分布式的環境中,我們需要一個 Master 實例或存儲一些配置信息,確保文件寫入的一致性等。
Mahout - 基于 MapReduce 的機器學習庫和數學庫。
同時,你可以訪問 Big Data Insights Page,學習更多關于 Hadoop 生態系統的 Red Hat 產品。
via ossmentor.com