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

Hadoop體系的強(qiáng)大工具組合

運(yùn)維 系統(tǒng)運(yùn)維 Hadoop
HDFS和MapReduce只是打造Hadoop平臺最基本的核心套件,在Apache基金會的網(wǎng)站中還有其他的相關(guān)開源套件,共同組成了一個Hadoop體系(Hadoop Ecosystem)。

HDFS和MapReduce只是打造Hadoop平臺最基本的核心套件,在Apache基金會的網(wǎng)站中還有其他的相關(guān)開源套件,共同組成了一個Hadoop體系(Hadoop Ecosystem)。

 

透過這些相關(guān)方案的延伸,開發(fā)人員就算不懂Java,也可以用特定Script語言來撰寫Hadoop上的MapReduce程序,甚至可以用SQL語法來查詢HDFS上的資料。這些周邊方案可說是大幅強(qiáng)化Hadoop功能的軟體軍火庫,想要善用Hadoop的開發(fā)人員不可錯過。其中重要的周邊方案包括HBase、Hive 、ZooKeeper、Pig和Mahout。

 

HBase 能容納PB資料量的分散式資料庫

 

HBase是專門用於Hadoop檔案系統(tǒng)上的資料庫系統(tǒng),採取Column-Oriented 資料庫設(shè)計(jì),不同於傳統(tǒng)的關(guān)聯(lián)式資料庫,例如沒有資料表、Schema資料架構(gòu)等功能,而是採用Key-Value形式的資料架構(gòu),每筆資料都有一個Key值對應(yīng)到一個Value值,再透過多維度的對應(yīng)關(guān)係來建立類似表格效果的資料架構(gòu)。如此就能採取分散式儲存方式,可以擴(kuò)充到數(shù)千臺服務(wù)器,以應(yīng)付PB等級的資料處理。

 

Hive 可用SQL語法存取Hadoop資料

 

Hive是建置在HDFS上的一套分散式資料倉儲系統(tǒng),可讓使用者以慣用的SQL語法,來存取Hadoop檔案中的大型資料集,例如可以使用Join、Group by、Order by等,而這個語法稱為Hive QL。不過,Hive QL和SQL并非完全相同,例如Hive就不支援Store Procedure、Trigger等功能。

 

Hive會將使用者輸入的Hive QL指令編譯成Java程序,再來存取HDFS檔案系統(tǒng)上的資料,所以,執(zhí)行效率依指令復(fù)雜度和處理的資料量而異,可能有數(shù)秒鐘,甚至是數(shù)分鐘的延遲。和HBase相比,Hive容易使用且彈性高,但執(zhí)行速度較慢。不少資料庫系統(tǒng),都是透過先連結(jié)到Hive,才能與Hadoop整合。例如微軟就是透過Hive ODBC驅(qū)動程序,將SQL指令轉(zhuǎn)換成Hive QL,讓Excel可以存取Hadoop上的資料。

 

在同一個Hadoop叢集中,Hive可以存取HBase上的資料,將HBase上的資料對應(yīng)成Hive內(nèi)的一個表格。

 

Pig 不懂Java開發(fā)也能寫MapReduce

 

Pig提供了一個Script語言Pig Latin,語法簡單,類似可讀性高的高階Basic語言,可用來撰寫MapReduce程序。Pig會自動將這些腳本程序轉(zhuǎn)換,成為能在Hadoop中執(zhí)行的MapReduce Java程序。

 

因此,使用者即使不懂Java也能撰寫出MapReduce。不過,一般來說,透過Pig腳本程序轉(zhuǎn)換,會比直接用Java撰寫MapReduce的效能降低了25%。

 

ZooKeeper 讓Hadoop內(nèi)部服務(wù)器能協(xié)同運(yùn)作

 

Zookeeper是監(jiān)控和協(xié)調(diào)Hadoop分散式運(yùn)作的集中式服務(wù),可提供各個服務(wù)器的配置和運(yùn)作狀態(tài)資訊,用於提供不同Hadoop系統(tǒng)角色之間的工作協(xié)調(diào)。

 

以HBase資料庫為例,其中有兩種服務(wù)器角色:Region服務(wù)器角色和Master服務(wù)器角色,系統(tǒng)會自動透過ZooKeeper監(jiān)看Master服務(wù)器的狀態(tài),一旦Master的運(yùn)作資訊消失,代表當(dāng)機(jī)或網(wǎng)路斷線,HBase就會選出另一臺Region服務(wù)器成為Mater角色來負(fù)責(zé)管理工作。

 

Mahout 即時可用的常用MapReduce函數(shù)庫

 

在Hadoop中,開發(fā)人員必須將資料處理作法拆解成可分散運(yùn)算的Map和Reduce程序,因?yàn)樗伎歼壿嫼统R姷某绦蜷_發(fā)邏輯不同,所以開發(fā)難度狠高。Mahout則提供了一個常用的MapReduce函式庫,常見的數(shù)值分析方法、叢集分類和篩選方式,都已經(jīng)有對應(yīng)的MapReduce函數(shù)可呼叫,開發(fā)人員就不必再重復(fù)開發(fā)一次。

責(zé)任編輯:黃丹 來源: 開源吧
相關(guān)推薦

2023-10-27 07:23:29

WarehouseFlatpak工具

2020-08-26 19:15:56

Python工具

2009-12-09 14:38:26

VS.NET 2003

2018-12-19 20:00:52

數(shù)字貨幣區(qū)塊鏈比特幣

2010-06-13 15:22:21

Linux網(wǎng)絡(luò)測試

2023-04-14 08:48:57

AutoGPT工具人工智能

2013-01-23 09:54:06

微軟虛擬化Windows Azu

2019-05-20 10:39:23

工具代碼開發(fā)

2023-11-01 15:54:59

2017-08-28 16:22:10

2023-10-11 08:13:34

2009-02-04 19:41:12

網(wǎng)絡(luò)拓?fù)涔芾?/a>Mocha BSM摩卡

2021-07-08 06:47:19

JVM監(jiān)控工具

2023-04-25 14:23:06

2012-08-06 15:59:17

MongoDB

2015-06-15 12:46:09

PHPPHP代碼分析解析

2017-09-18 15:14:50

2012-09-13 16:59:06

InformaticaHadoop大數(shù)據(jù)

2009-03-02 09:14:00

2020-06-28 09:56:48

.NET開發(fā)工具
點(diǎn)贊
收藏

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