全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2019-08-06 13:56:00
发布人:小锋

  千锋大数据学习路线之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搭配效率最好。

相关文章

边缘计算是什么,和云计算的区别是什么?

边缘计算是什么,和云计算的区别是什么?

2023-10-14
SQL Server 、Oracle 、MySQL有哪些区别?

SQL Server 、Oracle 、MySQL有哪些区别?

2023-10-14
显卡gtx和rtx有什么区别?

显卡gtx和rtx有什么区别?

2023-10-14
GET 和POST 到底有什么区别?

GET 和POST 到底有什么区别?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取