Hadoop IO 文件压缩 序列化
? ?文件中使用getcodec()方法,可以將文件屬性名映射到一個CompressionCodec,該去文件的Path對象當參數(shù)。
? ? CodecPool使用原生的代碼庫并且需要在用執(zhí)行中執(zhí)行大量解壓和壓縮,可以分攤這些開銷。
? ? 對于Job的任務的輸出壓縮,conf.setBoolean("mapred.output.compression",true);
conf.setClass("mapred.output,compression.codec",GzipCodec.classs);
? ? 對map任務壓縮,在map的輸出中設置,conf.setCompressMapOutput(true);conf.setMapOutputComprssionClass(GzipCodec.class).
? ? ?序列化和反序列化,將一個對象使用DataOutput轉成二進制,或者從二進制使用DataInput獲得一個對象。WritbleComparable和Comparator可以進行序列化的數(shù)值比較。
? ? Text類和Java String類之間存在一定的差別,對Text類的索引是根據(jù)編碼后字節(jié)序列中的位置實現(xiàn)的,并非字符中的Unicode字符,也不是Java Char編碼單元。
? ? Writable集合類:ArrayWritble,TwoDArrayWritable,MapWritable和SortedWritable,TwoDArrayWritble。
? ? 實現(xiàn)定制的Writable類型,繼承WritableComparable。
? ? Avro,AVRO數(shù)據(jù)文件是支持切分的,Avro提供了一組讓MapReduce程序在AVRO數(shù)據(jù)上簡單運行的類,在org.apache.avro.mapreduce等。
? ? SequenceFile,對于基于MapReduce的數(shù)據(jù)處理,將每個二進制數(shù)據(jù)大對象(blob)融入自己的文件總并不能每一條日志記錄是一行文本,通過sequenceFile類型將小文件包括起來,可以獲得更高效率的存儲和處理。
? ? ?MapFile是已經(jīng)排序的SequenceFile,它加入永遠搜索鍵的索引,它的大小可以設置為保存在內存的Map的大小。
總結
以上是生活随笔為你收集整理的Hadoop IO 文件压缩 序列化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VC中文字的输出
- 下一篇: VC 对话框 DIALOG