自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于Hadoop你需要知道的幾件事情

運(yùn)維 系統(tǒng)運(yùn)維 Hadoop
Hadoop特別適合大數(shù)據(jù)處理任務(wù),并且它可以利用其分布式的文件系統(tǒng),可靠并且低成本的將數(shù)據(jù)塊復(fù)制到集群中的節(jié)點(diǎn)上去,從而使數(shù)據(jù)能在本地機(jī)器上進(jìn)行處理。Anoop Kumar從十個(gè)方面講解了利用Hadoop處理大數(shù)據(jù)所需要的技巧。

在當(dāng)今的技術(shù)領(lǐng)域,大數(shù)據(jù)是個(gè)熱門的IT流行詞語。為了減輕處理大量數(shù)據(jù)時(shí)的復(fù)雜度,Apache開發(fā)了Hadoop——一個(gè)可靠的、可擴(kuò)展的分布式計(jì)算框架。Hadoop特別適合大數(shù)據(jù)處理任務(wù),并且它可以利用其分布式的文件系統(tǒng),可靠并且低成本的將數(shù)據(jù)塊復(fù)制到集群中的節(jié)點(diǎn)上去,從而使數(shù)據(jù)能在本地機(jī)器上進(jìn)行處理。Anoop Kumar從十個(gè)方面講解了利用Hadoop處理大數(shù)據(jù)所需要的技巧。

對于從HDFS中導(dǎo)入/導(dǎo)出數(shù)據(jù)方面,Anoop指出,在Hadoop的世界中,數(shù)據(jù)可以從多種不同的來源中被導(dǎo)入到Hadoop分布式文件系統(tǒng)中(HDFS)。在向HDFS中導(dǎo)入數(shù)據(jù)后,將通過用MapReduce或者其他語言比如Hive、Pig等來對數(shù)據(jù)進(jìn)行某一層次的處理。

Hadoop系統(tǒng)不僅提供了處理大量數(shù)據(jù)的靈活性,并且同時(shí)也可以對數(shù)據(jù)進(jìn)行過濾和聚合等處理,并且被處理轉(zhuǎn)換過的數(shù)據(jù)可以導(dǎo)出到外部數(shù)據(jù)庫或者其他使用Sqoop的數(shù)據(jù)庫中。從MySQL、SQL Server或者MongoDB等其他數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù)也是一個(gè)強(qiáng)大的功能。這樣的益處是可以更好的控制數(shù)據(jù)。

第二個(gè)方面是HDFS中的數(shù)據(jù)壓縮,Hadoop中的數(shù)據(jù)存儲在HDFS上,并且支持?jǐn)?shù)據(jù)的壓縮與解壓縮。數(shù)據(jù)壓縮可以通過一些壓縮算法來實(shí)現(xiàn),例如bzip2、gzip、LZO等。不同的算法可以根據(jù)其功能在不同的情況下使用,比如壓縮/解壓縮的速度或者文件分割的能力等。

Hadoop的轉(zhuǎn)換方面,Hadoop是一個(gè)用于提取和轉(zhuǎn)換大量數(shù)據(jù)的理想環(huán)境。同時(shí),Hadoop提供了一個(gè)可擴(kuò)展、可靠的并且分布式的處理環(huán)境。通過使用MapReduce、Hive和Pig等,可以用很多種方式來提取并轉(zhuǎn)換數(shù)據(jù)。

一旦輸入數(shù)據(jù)被導(dǎo)入或放置到HDFS中,之后Hadoop集群可以被用于并行轉(zhuǎn)換大型數(shù)據(jù)集。正如剛才提到的,數(shù)據(jù)轉(zhuǎn)換可以通過可用工具來實(shí)現(xiàn)。例如,如果你想把數(shù)據(jù)轉(zhuǎn)換為一個(gè)被制表符分開的文件,那么MapReduce則是***的工具之一。同理,Hive和Python可以被用于清理和轉(zhuǎn)換地理事件的數(shù)據(jù)資料。

對于如何實(shí)現(xiàn)通用的任務(wù),Anoop介紹說,有很多通用的任務(wù)需要在數(shù)據(jù)的日常處理中被完成,并且其使用頻率是很高的。一些如Hive、Pig和MapReduce等可用的語言可以協(xié)助你完成這些任務(wù),并使你的生活更加輕松。

有時(shí)候一個(gè)任務(wù)可以通過多種方式來實(shí)現(xiàn)。在這種情況下開發(fā)人員或者架構(gòu)師得做出正確的決定,從而實(shí)施最正確的方案。例如,Hive和Pig提供了數(shù)據(jù)流和查詢之間的一個(gè)抽象層,并且提供了它們編譯產(chǎn)生的MapReduc工作流。MapReduce的功能可以用于擴(kuò)展查詢。Hive可以用HiveQL(像SQL一樣的說明性語言)來建立并且分析數(shù)據(jù)。并且,可以通過在Pig Latin中寫入操作來利用Pig語言。

在Hadoop組合大量數(shù)據(jù),一般情況下,為了得到最終的結(jié)果,數(shù)據(jù)需要加入多個(gè)數(shù)據(jù)集一起被處理和聯(lián)合。Hadoop中有很多方法可以加入多個(gè)數(shù)據(jù)集。MapReduce提供了Map端和Reduce端的數(shù)據(jù)連接。這些連接是非平凡的連接,并且可能會是非常昂貴的操作。Pig和Hive也具有同等的能力來申請連接到多個(gè)數(shù)據(jù)集。Pig提供了復(fù)制連接,合并連接和傾斜連接(skewed join),并且Hive提供了map端的連接和完整外部連接來分析數(shù)據(jù)。一個(gè)重要的事實(shí)是,通過使用各種工具,比如MapReduce、Pig和Hive等,數(shù)據(jù)可以基于它們的內(nèi)置功能和實(shí)際需求來使用它們。

如何在Hadoop分析大量數(shù)據(jù),Anoop指出,通常,在大數(shù)據(jù)/Hadoop的世界,一些問題可能并不復(fù)雜,并且解決方案也是直截了當(dāng)?shù)?,但面臨的挑戰(zhàn)是數(shù)據(jù)量。在這種情況下需要不同的解決辦法來解決問題。一些分析任務(wù)是從日志文件中統(tǒng)計(jì)明確的ID的數(shù)目、在特定的日期范圍內(nèi)改造存儲的數(shù)據(jù)、以及網(wǎng)友排名等。所有這些任務(wù)都可以通過Hadoop中的多種工具和技術(shù)如MapReduce、Hive、Pig、Giraph和Mahout等來解決。這些工具在自定義例程的幫助下可以靈活地?cái)U(kuò)展它們的能力。

例如,圖和機(jī)器學(xué)習(xí)的問題可以通過使用一個(gè)Giraph框架被解決,而不是通過MapReduce任務(wù)解決,這樣可以避免寫復(fù)雜的算法。Giraph框架在解決圖和機(jī)器學(xué)習(xí)問題時(shí)比MapReduce任務(wù)更加有用,因?yàn)橐恍﹩栴}可能需要運(yùn)用迭代的步驟來解決。

Hadoop世界中的調(diào)試,調(diào)試在任何一個(gè)開發(fā)過程中都永遠(yuǎn)是個(gè)重要的過程。Hadoop環(huán)境中對于調(diào)試的需求和對Hadoop本身的需求一樣重要。有一種說法是格式錯(cuò)誤和意外的輸入是很常見的,這將造成一切事務(wù)在一個(gè)較高的規(guī)模上中斷。這也是處理大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)中的一個(gè)不幸的缺點(diǎn)。

雖然,單個(gè)任務(wù)被隔離并且給予了不同組的輸入,但當(dāng)跟蹤各種事件時(shí),它需要理解每個(gè)任務(wù)的狀態(tài)。這可以通過多種可用的工具和技術(shù)來支持調(diào)試Hadoop任務(wù)的過程,從而實(shí)現(xiàn)目標(biāo)。例如,為了避免任何工作失敗,有一種方法可以跳過壞記錄,并且可以使用MapReduce中的計(jì)數(shù)器來跟蹤不良記錄等。

易于控制的Hadoop系統(tǒng),產(chǎn)品開發(fā)是一項(xiàng)重要的活動(dòng),系統(tǒng)維護(hù)也是同樣重要的,它有助于決定產(chǎn)品的未來。在Hadoop中,環(huán)境設(shè)置、維護(hù)和環(huán)境監(jiān)測、以及處理和調(diào)整MapReduce任務(wù)都非常需要從Hadoop系統(tǒng)中受益。為此Hadoop提供了很大的靈活性來控制整個(gè)系統(tǒng),Hadoop的可在三種不同的模式中進(jìn)行配置:即獨(dú)立模式、偽分布式模式和完全分布式模式。

在Ganglia框架的幫助下,整個(gè)系統(tǒng)可以被監(jiān)測并且能對節(jié)點(diǎn)的健康狀態(tài)進(jìn)行跟蹤。另外,參數(shù)配置功能提供了對MapReduce的任務(wù)控制。Hadoop系統(tǒng)有很好的靈活性可以輕松搞定整個(gè)系統(tǒng)的級別控制。

可擴(kuò)展的持久性。有很多選擇可以處理海量的結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù),但是儲存海量數(shù)據(jù)的可擴(kuò)展性仍然是數(shù)據(jù)世界中的主要問題之一。Hadoop系統(tǒng)打算用Accumulo來緩解這個(gè)問題。Accumulo是被谷歌的BigTable的設(shè)計(jì)所啟發(fā)的,并且建立在Hadoop、Zookeeper 和Thrift的基礎(chǔ)之上,同時(shí)它給Hadoop提供可擴(kuò)展的、分布式的、且基于單元持久性的數(shù)據(jù)備份。Acumulo帶來了一些BigTable設(shè)計(jì)之上的改進(jìn),以一種基于單元的訪問控制和服務(wù)器端的編程機(jī)制來幫助在數(shù)據(jù)管理過程中修改不同點(diǎn)的鍵/值對。

Hadoop中的數(shù)據(jù)讀取和寫入發(fā)生在HDFS上。HDFS即Hadoop的分布式文件系統(tǒng),并且是具有容錯(cuò)性的分布式文件系統(tǒng)。它在對進(jìn)行文件流讀取的大型文件進(jìn)行了優(yōu)化,而且和I/O吞吐量相比,更傾向于低延遲。有很多可以高效的從HDFS中讀取和寫入文件的方法,比如說API文件系統(tǒng)、MapReduce以及高級串行化庫等。

責(zé)任編輯:奔跑的冰淇淋 來源: InfoQ
相關(guān)推薦

2021-09-05 08:46:29

CSPM網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2015-09-16 14:13:53

應(yīng)用集成應(yīng)用開發(fā)企業(yè)架構(gòu)

2015-01-20 11:24:52

Win 10

2016-04-11 11:24:55

Windows 10Linux注意事項(xiàng)

2010-05-10 11:08:28

IPv6

2012-05-22 09:41:12

Python

2017-02-09 14:46:25

Git事情

2013-09-12 11:24:24

創(chuàng)業(yè)

2013-08-05 10:37:18

Aerohive802.11ac千兆WiFi

2011-04-25 09:45:09

C#委托

2011-06-14 14:04:11

測試用例

2015-08-11 17:55:21

谷歌重組科技

2021-04-15 08:04:27

容器DevOps程序

2024-06-04 16:51:11

2017-09-18 18:31:08

Hadoop

2010-09-16 08:38:19

數(shù)據(jù)庫索引

2010-11-16 17:16:36

IPv6IPv4

2020-04-26 20:00:14

EmacsLinux

2017-04-13 10:08:30

軟件開發(fā)開發(fā)

2011-05-10 12:25:24

反向鏈接
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號