【注意】hive默认的文件格式是TextFile,可通过set hive.default.fileformat 进行配置
导入测试数据[hadoop@hadoop001 data]$ ll-rw-r--r-- 1 hadoop hadoop 68051224 Apr 17 17:37 part-r-00000[hadoop@hadoop001 data]$ hadoop fs -put part-r-00000 /g6/hadoop/access/clear/test/
通过hue查看数据的大小 64.9MB
创建以 SEQUENCEFILE格式储存的表g6_access_seq,并使用g6_access中的数据create table g6_access_seqstored as SEQUENCEFILEas select * from g6_access ;查看数据大小 71.8MB 结论:比默认的TEXTFILE格式的文件还要大,生产上基本上是不会用的
创建RCFILE数据存储格式表,,并使用g6_access中的数据 create table g6_access_rcstored as RCFILEas select * from g6_access; 查看数据大小 61.6MB 结论:存储减少了3M左右,微不足道,读写性能也没有什么优势,生产也没有用他的理由
创建ORCFILE数据存储格式表,,并使用g6_access中的数据,默认是使用zlib压缩,支持zlib和snappycreate table g6_access_orcstored as ORCas select * from g6_access;
查看数据大小 17.0MB
创建ORCFILE数据存储格式表,并使用g6_access中的数据create table g6_access_orc_nonestored as ORC tblproperties ("orc.compress"="NONE")as select * from g6_access;查看数据大小 51.5MB
创建PARQUET数据存储格式表,不使用压缩,并使用g6_access中的数据create table g6_access_parstored as PARQUETas select * from g6_access;
结论:ORC文件不压缩,比源文件少了10多MB,ORC文件采用默认压缩,文件只有源文件的四分之一查看数据大小 58.3MB
创建PARQUET数据存储格式表,设置使用gzip压缩格式,并使用g6_access中的数据set parquet.compression=gzip;create table g6_access_par_zipstored as PARQUETas select * from g6_access;
结论:parquet格式文件大小是源文件的1/4左右。生产上也是好的选择
转载于:https://www.cnblogs.com/xuziyu/p/10737199.html