千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 千锋大数据学习路线之hive存储格式

千锋大数据学习路线之hive存储格式

来源:千锋教育
发布人:小锋
时间: 2019-08-06 13:56:00 1565070960

  千锋大数据学习路线之hive存储格式,hive的存储格式通常是三种:textfile、sequencefile、rcfile、orc、自定义set hive.default.fileformat=TextFile; 默认存储格式为:textfile textFile:普通文本存储,不进行压缩。查询效率较低。

  1.sequencefile:

  hive提供的二进制序列文件存储,天生压缩。

  sequeceFile 和 rcfile都不允许使用load方式加载数据。需要使用insert 方式插入

  默认支付压缩、分割,使用便捷、写和查询较快。sequencefile和压缩属性可以搭配使用。

  create table if not exists seq1(

  id int,

  name string

  )

  row format delimited fields terminated by '\t'

  lines terminated by '\n'

  stored as sequencefile

  ;

  ###加载数据错误方式

  load data local inpath '/home/user' into table seq1;

  ###加载数据正确方式

  insert into table seq1

  select * from user1

  ;

  2.rcfile:

  rcfile可以进行行列混合压缩,将附近的列和行的数据尽量保存到相同的块里面,该存储格式会提高查询效率,但是写数据较慢。该方式和gzcodeC压缩属性结合不是很好() set mapred.output.compression=true; set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

  ###创建rcfile表:

  create table if not exists rc1(

  id int,

  name string

  )

  row format delimited fields terminated by '\t'

  stored as rcfile

  ;

  create table if not exists rc2(

  id int,

  name string

  )

  row format delimited fields terminated by '\t'

  stored as rcfile

  ;

  ###加载数据错误方式

  load data local inpath '/home/user' into table rc1;

  ###加载数据正确方式

  insert into table rc2

  select * from user1

  ;

  3.存储自定义:

  数据: seqyd元数据文件: aGVsbG8saGl2ZQ== aGVsbG8sd29ybGQ= aGVsbG8saGFkb29w seqyd文件为base64编码后的内容,decode后数据为:

  ##hello,hive

  ##hello,world

  ##hello,hadoop

  create table cus(str STRING)

  stored as

  inputformat 'org.apache.hadoop.hive.contrib.fileformat.base64.Base64TextInputFormat'

  outputformat 'org.apache.hadoop.hive.contrib.fileformat.base64.Base64TextOutputFormat';

  LOAD DATA LOCAL INPATH '/home/cus' INTO TABLE cus;

  通常是使用defaultCodec+rcfile搭配效率最好。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT