hive优化-文件格式-rcfile-textfile-seqfile

[数据文件]
1.文件格式,hive支持TEXTFILE, SEQUENCEFILE, RCFILE, ORC, and PARQUET.
修改文件格式:
//创建表
CREATE TABLE… STORED AS <File_Format>
//修改表指定格式
ALTER TABLE… [PARTITION partition_spec] SET FILEFORMAT <File_Format>
//设置默认的表格式
SET hive.default.fileformat=<File_Format>


2.TextFile
文本文件,可以压缩,lzo,...Bzip2压缩文本压缩比较大,时间长,可切割,如果压缩文件不可切割,
则由一个map处理大文件。


3.SequenceFile
序列文件,kv对,格式紧凑。适合mr的output,可压缩可切割。
该文件和text文件都行方式存储。反之,rcFile/orc/parquet文件格式可以列存储。
SET hive.exec.compress.output=true;
SET io.seqfile.compression.type=BLOCK;

4.RCFile
Record Columnar File.
kv存储,类似于sequencefile,将数据文件水平切割多个组。
若干group存放在一个hdfs中,先保存所有行的第一列,第二列,以此类推。
该文件可切割.可以跳过不相关部分,更快得到数据,成本更低。
CREATE TABLE emp_rc
(
name string,
dept_num int,
salary float 
)
ROW FORMAT DELIMITED
STORED AS rcfile;


insert into emp_rc select * from employee ;


5.ORC
Optimized Row Columnar
RCFile增强版。
支持的大数据块(256M).
和rcfile的不同是使用特殊的编码器感知数据类型,并依据不同的类型进行压缩优化。
同时也存储了基于column的一些基本的统计(MIN, MAX, SUM, and COUNT)信息,还有轻量
级索引.
支持范围较窄,只有hive和pig。

//不靠谱
create table emp_orc like employee ;
ALTER TABLE emp_orc SET FILEFORMAT orc ;


//靠谱
CREATE TABLE emp_orc
(
name string,
dept_num int,
salary float 
)
ROW FORMAT DELIMITED
STORED AS orc;
insert into emp_orc select * from employee ;


6.parquet
类似于orc,相对于orc文件格式,hadoop生态系统中大部分工程都支持parquet文件。


//靠谱
CREATE TABLE emp_par
(
name string,
dept_num int,
salary float 
)
ROW FORMAT DELIMITED
STORED AS parquet;


insert into emp_orc select * from employee ;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值