1. 程式人生 > >《Hadoop生態系統》(O'REILLY )(三)

《Hadoop生態系統》(O'REILLY )(三)

第一章,關鍵技術
第二章,資料相關的操作,儲存、管理

第三章 序列化

序列化就是為了將資料更好方便的進行移動,畢竟資料可能有很多方面,很多點,如果一直是保持格式傳遞資料,可能會浪費大量資源,所以這裡就序列化,把他變成一串更好傳遞的資訊,傳送到頭再進行反序列化,把他還原。
這裡選擇序列化格式需要考慮到的幾個方面有:
資料量:資料佔用的記憶體或磁碟的空間大小
讀寫速度:計算機讀寫需要的時間
可讀性:在沒有外界幫助下,是否可以理解序列化後的資料?
易用性:序列化這個操作的難易程度,是否需要額外工具

3.1 Avro

用途介紹的是:資料序列化
我的理解:這應該是個很好用的工具吧,而且有執行時組裝和schema驅動的兩個特性,很不錯啊,算是高效的
我的感覺:我,見識淺薄,學到了

3.2 JSON

用途介紹的是:資料描述和傳遞
我的理解:經常用,不多說
我的感覺:真的太感謝了,要不這一章我知道的又是0蛋。

3.3 Protocol Buffers(protobuf)

用途介紹的是:資料序列化
我的理解:這和Avro不同是應用場景上,在靈活性和效能之間做出權衡,它的目的是快速、簡單以及精簡,所以它支援的程式語言和複雜的資料型別更少。而且是編譯時組裝,不是執行時組裝。
我的感覺:序列化我接觸的少,沒用過,想做個demo試下

3.4 Parquet

用途介紹的是:檔案格式
我的理解:用它給定的方式儲存資料,柱狀的資料儲存格式,可以很好表現資料結構化,但是複雜,不太好運,但是很多工具支援
我的感覺:瞭解下就行了吧

這一章大致就是這些內容,第四章就是管理與監控啦。