Hive实战-表创建

Hive实战-表创建

  • 使用ORC压缩储存空间

使用ORC压缩储存空间

什么是ORC?
ORC的全称是(Optimized Row Columnar),ORC文件格式是一种Hadoop生态圈中的列式存储格式。

  • ORC是列式存储,有多种文件压缩方式,并且有着很高的压缩比。
  • 文件是可切分(Split)的。因此,在Hive中使用ORC作为表的文件存储格式,不仅节省HDFS存储资源,查询任务的输入数据量减少,使用的MapTask也就减少了。
  • 提供了多种索引,row group index、bloom filter index。
  • ORC可以支持复杂的数据结构(比如Map等)
CREATE TABLE IF NOT EXISTS `table_name`
( 
  `id` string,  
  xxx
  ) 
PARTITIONED BY (  
  `part` string COMMENT '分区') 
ROW FORMAT SERDE  
  'org.apache.hadoop.hive.ql.io.orc.OrcSerde'  
STORED AS INPUTFORMAT  
  'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'  
OUTPUTFORMAT  
  'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat' 

对比默认数据储存格式

ROW FORMAT SERDE
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'

通过实测,储存空间被压缩为默认的1/3。

你可能感兴趣的:(Hive,hive,hadoop,数据仓库)