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,应该是加载内部表数据给移动了,外部表是不移动的,并且删除