日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747


Hadoop,HDFS,HBase,Hive 有什么不同?

> Photo by Mr Cup / Fabien Barral on Unsplash

 

隨著技術的快速變化,越來越多的數據一直在生成。

據最新的全球數據領域估計,到2025年,全世界產生的數據量將增長到175 ZB。

公司現在需要改進的軟件來管理這些海量數據。 他們一直在尋找處理和存儲數據并將其分布在不同服務器上的方法,以便他們可以利用它們。

在本文中,我們將討論特定的數據管理工具系列,這些工具在討論時經常會引起混淆和互換使用。 今天,我們將討論Hadoop,HDFS,HBase和Hive,以及它們如何幫助我們處理和存儲大量數據。

Hadoop,HDFS,HBase,Hive 有什么不同?

 

Hadoop

Hadoop是指幾種不同技術的統稱。 但是,Hadoop還是特定的軟件框架。 它使用戶能夠輕松管理分布式計算和存儲。 它通過將文檔劃分到多個存儲區和跨機器集群的塊中來實現。

為了實現容錯,Hadoop將這些存儲復制到集群上。 然后,它通過將作業劃分為幾個較小的獨立任務來執行分布式處理。 然后,此任務在計算機群集上并行運行。

Hadoop通過集群服務對大型數據集進行分布式處理,以同時在多臺計算機上工作。 為了在Hadoop上處理任何數據,我們使用了幾種服務,我們將討論:

· HDFS:HDFS或Hadoop分布式文件系統是一種主要-次要拓撲,具有兩個運行的守護程序:DataNode和NameNode。 稍后再詳細介紹。

· MapReduce:這是一種在分布式集群上并行處理大數據的算法。 然后,MapReduce可以將此數據合并為結果。

· YARN:YARN的功能是將源管理,作業監視和計劃任務劃分為單獨的守護程序。 它可以超越數千個節點。 這是因為YARN聯合允許用戶將多個群集通過到一個大群集中。 我們可以在一個較大的工作中同時使用許多獨立的集群,這是通過較大規模的系統實現的。

HDFS

如前所述,HDFS是在兩個守護程序(DataNode和NameNode)上運行的主次拓撲。

名稱節點存儲元數據,其中所有數據都存儲在DataNodes中。 另外,如果您的NameNode發生故障并且沒有任何備份,則整個Hadoop實例將無法訪問。 就像在迭代鏈表時丟失指針一樣。 如果您不知道接下來數據的存儲位置,則無法訪問。

另一方面,DataNode是實際存儲數據的位置。 如果任何特定的DataNode關閉,這應該沒問題,因為NameNode經常會跨數據節點管理同一數據塊的多個實例(這在某種程度上取決于配置)。

借助Hadoop分布式文件系統,您可以在服務器上一次寫入數據,然后多次讀取。 HDFS是立即處理大量數據的理想選擇。

原因是HDFS與硬件群集商品上的NameNode和DataNode一起使用。 實際上,這是Hadoop流行的主要原因之一。

您可以在廉價的硬件上運行HDFS并輕松地橫向擴展(這意味著購買更多的機器來處理數據),這一事實使它成為非常受歡迎的選擇。 以前,大多數公司都依靠垂直擴展(購買通常很昂貴但可以單獨處理更多數據的服務器)。 這是昂貴的并且具有更多的計算限制。

HDFS和Hadoop與MapReduce等其他基礎層組件相結合,使各種規模和能力的企業都可以擴展其數據處理,而無需購買昂貴的設備。

HBase

HDFS和Hadoop有點相同,我們可以互換使用術語來理解開發人員。

但是,HBase是非常不同的。

HBase是建立在Hadoop文件系統之上的開源,面向列的數據庫。 在某種程度上,這是人們更熟悉的層,從某種意義上說,它與典型的數據庫更加相似。

它是水平可擴展的。 HBase的數據模型類似于google大表設計的數據模型。 它不僅提供了對大量非結構化數據的快速隨機訪問,而且還利用了HDFS提供的相同的容錯能力。

HBase是Hadoop生態系統的一部分,該生態系統實時提供對Hadoop文件系統中數據的讀寫訪問。 由于相同的原因,許多大公司都將HBase用于其日常功能。 例如,Pinterest可與38個HBase群集一起工作,每秒執行約500萬次操作!

更重要的是,HBase提供了對一百萬條記錄中的單個行的較低延遲訪問。 為了正常工作,HBase在內部使用哈希表,然后提供對索引的HDFS文件的隨機訪問。

Hive

盡管Hadoop具有非常好的可擴展性和可靠性,并且非常適合提取數據,但是它的學習曲線過于陡峭,無法使其具有成本效益和時間效益。 另一個很好的替代方法是在MapReduce之上的Apache Hive。

Hive是一種數據倉庫軟件,允許用戶快速輕松地編寫類似SQL的查詢以從Hadoop提取數據。

這個開源框架的主要目的是處理和存儲大量數據。 對于Hadoop,您可以使用MapReduce JAVA API實施SQL查詢。 對于Apache Hive,您可以輕松繞過Java,而僅使用類似SQL的查詢訪問數據。

Apache Hive的工作很簡單。 它將用HiveQL編寫的輸入程序轉換為一個或多個Java MapReduce和Spark作業。

然后,它將數據組織到HDFS表中,并在群集上運行作業以產生結果。 Hive是一種將結構應用于大量非結構化數據,然后對它們執行基于SQL的查詢的簡單方法。 由于它使用的接口熟悉JDBC(Java數據庫連接),因此可以輕松地與傳統數據中心技術集成。

Hive的一些最重要的組件是:

· MetaStore:這是存儲Hive表的架構。 Hive Metastore主要用于保存有關倉庫中分區和表的所有信息。 默認情況下,它運行與Hive服務相同的過程。

· SerDe:SerDe或序列化器/反序列化器是一項功能,向配置單元提供有關如何處理記錄的指令

這些事情不盡相同-但它們可以協同工作

我們已經討論了Hadoop,Hive,HBase和HDFS。 所有這些開源工具和軟件都旨在幫助處理和存儲大數據并從中獲得有用的見解。

即使它們扮演的角色截然不同,它們也經常互換使用。

總而言之,Hadoop用作文件存儲框架,該框架又將HDFS用作主要-次要拓撲,以將文件存儲在Hadoop環境中。

然后,HBase位于HDFS之上,是基于列的分布式數據庫系統,類似于Google的Big Table,它對于隨機訪問Hadoop文件非常有用。 另一方面,Hive提供了一個基于Hadoop的類似SQL的接口,以繞過JAVA編碼。

希望這有助于澄清一些差異!

(本文翻譯自SeattleDataGuy的文章《Hadoop vs. HDFS vs. HBase vs. Hive》,參考:https://medium.com/better-programming/hadoop-vs-hdfs-vs-hbase-vs-hive-ddfffd45d222)

分享到:
標簽:Hadoop
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定