Hadoop支持Lzo和分片

Hadoop支持Lzo和分片

爲了節省磁盤空間,文件的存儲往往需要壓縮,有的需要壓縮比大,有的需要壓縮速度快。而對於一套計算的結果存儲,如多個MapReduce之間,需要能支持分片的壓縮方式。lzop就是個可以支持分片的壓縮方式,非常適合用於多個MapReduce之間的計算中間結果存儲。
在Hadoop上安裝lzop與在hive上的使用,並且支持分片功能
參考:https://segmentfault.com/a/1190000019067537
使用分片:
create table t_log( log_date date, ip string,uuid string,traffic float,url string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’
STORED AS INPUTFORMAT ‘com.hadoop.mapred.DeprecatedLzoTextInputFormat’
OUTPUTFORMAT ‘org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat’;
備註:此處建表是內部表,需要指定分隔符
load data inpath ‘/data/file/tracker4.log.lzo’ into table t_log;
備註:不加local就是從hdfs上加載(內部表加載完後,該壓縮文件就不在這個目錄了,而是進入了hive的倉庫目錄:/user/hive/warehouse/t_log/tracker4.log.lzo,應該是加載內部表數據給移動了,外部表是不移動的,並且刪除外部表時數據文件不會被刪除,內部表會被刪除),加上local是本地加載
也可以: load data local inpath ‘/data/file/tracker4.log.lzo’ into table t_log;
建索引:
hadoop jar $HADOOP_HOME/share/hadoop/common/hadoop-lzo-0.4.21-SNAPSHOT.jar
com.hadoop.compression.lzo.LzoIndexer
/user/hive/warehouse/t_log/tracker4.log.lzo
執行驗證分片:
在這裏插入圖片描述
在這裏插入圖片描述
檢查hadoop的本地庫
hadoop checknative
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章