相信大家有寫過,利用繼承WritableComparator的方式實做自己的比較器,大家會發現其實寫起來好像不是那麼的方便,由於Avro在執行資料操作也是"不"需要反序列化後再做處理,且使用Avro的好處則是,
1. 若是要改變排序順序只需調整schema即可。
相信大家有寫過,利用繼承WritableComparator的方式實做自己的比較器,大家會發現其實寫起來好像不是那麼的方便,由於Avro在執行資料操作也是"不"需要反序列化後再做處理,且使用Avro的好處則是,
1. 若是要改變排序順序只需調整schema即可。
繼上一篇實做的code generation,發現run完整個procedure已經要吐之後,接下來就是要介紹一下如何在不使用code generation的情況下來玩Avro。
PS. 後輩是使用Hadoop 1.0.3的版本,執行的時候出現了paranamer的error,所以有請google大神幫後輩抓了一下paranamer的jar包,請前輩們自行抓取囉^_^~
由於Avro 將在MapReduce V2(YARN)上被使用,所以小弟也來研究一下Avro的一些觀念與實作方式囉^_^~,當然MapReduce V1也可以用到拉。
做為Hadoop資料的序列化(Serialize)與反序列化(Deserialize),比起傳統的Writable,Avro使用來改進Writable的缺點: 可攜性的問題(Writable序列化後的資料無法讓其他程式語言使用)。
Zookeeper在HBase的Master與Regionserver中是扮演一個協調器(coordinator),但是Zookeeper只能用在hadoop中?答案是「未必」,那麼這篇只是說明一下如何安裝Zookeeper於叢集中。
行前說明 1. : 因為網路上實在非常多的安裝介紹,所以若是有疑問其實google都可以搜尋到,或是留言問小弟我也可以~^^~。
原本打算先分享第9章與第10章的內容,但是剛好我要重新安裝Ganglia與Nagios,且第10章也會說到叢集監控(Cluster Monitoring)的問題,所以就先分享如何安裝Ganglia和Nagios給大家囉^.^,這裡先分享如何安裝Ganglia於Hadoop上。
- 何謂Ganglia
MapReduce於Hadoop definitive guide edtion 2 中於要進入尾聲了,我會盡量把前面的情況整理一遍,或許會帶有一點情境的感覺,前幾天老闆買了MapReduce Design Pattern,害我看了好想買,但是我又想買Hadoop definitive guide edtion 3和HBase中文版,先看狀況好了,因為第二版還有HBase和Zookeeper沒有跟大家做個介紹,那麼第8章結束後還有第9章與第10章的介紹,9、10章大致上是要說明Hadoop的管理。
那麼第8章主要是要闡述一些MapReduce更進階的特性,包含計數器(在5.5.5也有說過)、資料集的排序和連結。
剩下兩個章節就要結束MapReduce的練習囉^0^~,但這也只是MapReduce V1的版本,往後還會在與大家分享MapReduce V2(YARN)的內容,在這個章節要說明的就是MapReduce的類型(type)與格式(format)。
- 7.1 MapReduce的類型,這個小節主要說明map任務與reduce任務的輸入與輸出型別,大致上詳細的流程可以為:
首先~先祝大家2013新年快樂唷!!~,接下來要進入第五章囉,接下來是進行開發MapReduce程式,大致上都得先在local端使用部分資料測試,也就是所謂的單機測試,測試完後再放上叢集跑,通常這樣能夠消除大多數的bug,但是通過單機測試不代表放上叢集不會出錯,故Hadoop就提供一些小工具來協助debug的動作,像是使用Counter或是IsolationRunner等工具,在撰寫MapReduce前必須先了解一些組態的設定。
- 5.1 Configuration的設定是玩Hadoop的必經過程,使用者必須知道如何設定組態(configuration),來達到基本或是更進階的功能,Hadoop Definitive Guide edition2中範例5-1的例子可以看說如何來設定name-value的組態(xml檔),那麼這裡我就抄個例子來讓各位看官看一下吧。