文件格式

在HIVE中,常见的文件存储格式有

  • TextFile
  • Parquet
  • ORC
  • Sequence
  • RC
  • AVRO

建表语句

这里我们根据不同的文件格式,新建测试表。

--textfile文件格式
CREATE TABLE `test_textfile`(`id` STRING,…,`desc` STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS textfile;
--parquet文件格式
CREATE TABLE `test_parquet`(`id` STRING,…,`desc` STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS parquet;
--orc文件格式
CREATE TABLE `test_orc`(`id` STRING,…,`desc` STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS orc;
--sequence文件格式
CREATE TABLE `test_sequence`(`id` STRING,…,`desc` STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS sequence;
--rc文件格式
CREATE TABLE `test_rc`(`id` STRING,…,`desc` STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS rc;
--avro文件格式
CREATE TABLE `test_avro`(`id` STRING,…,`desc` STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS avro;

区别比较

我们从同一个源表新增数据到这六张测试表,为了体现存储数据的差异性,我们选取了一张数据量比较大的源表(源表数据量为30000000条)。
下面从存储空间和SQL查询两个方面进行比较。
其中SQL查询为包含group by的计量统计和不含group by的计量统计。

sql01:select count(*) from test_table;
sql02:select id,count(*) from test_table group by id;

相关的查询结果如下(为了防止出现偶然性,我们每条SQL至少执行三次,取平均值)

文件存储格式 HDFS存储空间 不含group by 含group by
TextFile 7.3 G 105s 370s
Parquet 769.0 M 28s 195s
ORC 246.0 M 34s 310s
Sequence 7.8 G 135s 385s
RC 6.9 G 92s 330s
AVRO 8.0G 240s 530s

结论

从上面的测试结果可以看出

  • 从占用存储空间来看,ORC和Parquet文件格式占用的空间相对而言要小得多。
  • 从执行SQL效率来看,Parquet文件格式查询耗时要相对而言要小得多。

实际情况

从目前所得的结论来看,Hive中选用ORC和Parquet文件格式似乎更好一点,但是为什么Hive默认的文件存储格式是TextFile?
这是因为大多数情况下源数据文件都是以text文件格式保存(便于查看验数和防止乱码),这样TextFile文件格式的Hive表能直接load data数据。
如果说我们想使用ORC文件或者Parquet文件格式的表数据,可以先通过TextFile表加载后再insert到指定文件存储格式的表中。而这些不同文件格式的表我们可以通过数据分层保存,便于后期进行数据统计。

HIVE中常见文件存储格式比较相关推荐

  1. 【Hive】hive表的文件存储格式

    在Hive中,文件的存储格式主要有:TEXTFILE.SEQUENCEFILE.ORC.PARQUET. 其中,TEXTFILE.SEQUENCEFILE是基于行存储,ORC.PARQUET基于列存储 ...

  2. 3.2-3.3 Hive中常见的数据压缩

    一.数据压缩 1. 数据压缩数据量小*本地磁盘,IO*减少网络IOHadoop作业通常是IO绑定的; 压缩减少了跨网络传输的数据的大小; 通过简单地启用压缩,可以提高总体作业性能; 要压缩的数据必须支 ...

  3. Linux中常见文件类型及文件系统类型

    Linux中常见的七种文件类型: - 普通文件 d 目录文件 l 链接文件(指向另一个文件,类似于它的快捷方式) s 套接字文件 b 块设备文件,二进制文件 c 字符设备文件 p 命名管道文件 Lin ...

  4. IOS-项目中常见文件介绍

    一.项目文件结构示意图 二.文件介绍 1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件 2.frameworks文件夹主要用来放依赖的框架 3.test文件夹是 ...

  5. (转)ASP.NET中常见文件类型及用途

    从入门导师那继承来的习惯,也是加上自己的所谓经验判断,一直对WEB开发不太感冒,可惜呀,从业近二十年,还得从头开始对付HTML.CSS.JS.ASPX,以前的经验,用不上啦!!!先从好好学习ASPX开 ...

  6. hive中常见的日期函数

    常见hive的时间函数1.时间戳转化为日期函数 from_unixtime('1566390082') from_unixtime('1566390082', 'yyyy-MM-dd') from_u ...

  7. Verilog中常见文件操作($readmemb,$fopen,$fwrite,$fclose)

    目录 一.$readmemb/$readmemh 二.$fopen,$fwrite,$fclose 三.仿真验证 四.参考 一.$readmemb/$readmemh $readmemb和$readm ...

  8. 关于Hive中的存储格式及压缩格式详解

    最近面试,遇到了关于Hive的数据存储格式的问题,回答不尽人意,抽时间总结多看看关于Hive存储格式和压缩格式的内容. Hive底层数据是以HDFS文件的形式存储在Hadoop中的,选择一个合适的文件 ...

  9. sqlserver exec查询存储过程取某一个字段_ORC文件存储格式的深入探究

    因为生病,另外还在做牙齿的根管治疗,痛不欲生,短更一篇. 年前都在梳理<大数据成神之路>的目录还有内容,另外Flink的公开课程也在规划大纲和目录.不知道我在说什么,看一下这里<20 ...

  10. linux怎么看文件是否orc格式,hive文件存储格式orc,parquet,avro对比

    orc文件存储格式 ORC文件也是以二进制方式列式存储的,所以是不可以直接读取,ORC文件也是自解析的,它包含许多的元数据,这些元数据都是同构ProtoBuffer进行序列化的.文件结构如下 ORC文 ...

最新文章

  1. Pytorch张量tensor的使用
  2. 算法工程与计算机科学,合并的分水岭算法-计算机工程与科学.PDF
  3. BeanUtils的方法
  4. 微型计算机技术及应用选择题,微机(微型计算机技术及应用)选择题及答案(最终版).docx...
  5. 并查集——小米笔试题求朋友圈个数,分小组个数
  6. win10让一个绿色软件开机启动
  7. python基础知识-Python基础知识点总结
  8. matlab 指定路径保存图片_关于matlab图片保存方式
  9. 商务办公软件应用与实践【4】
  10. AHT20温湿度传感器数据采集
  11. (待补)(递归)九连环问题*
  12. python工作遇到的问题_工作中遇到的问题收集--.NET
  13. 十门峡旅游攻略:临安十门峡的春天
  14. txt文本怎么去除重复项
  15. 使用gdal的ogr创建shapefile文件(c++)
  16. ubuntu 内存占用过高导致卡死 解决办法
  17. html5 在线摄像头,HTML5在线摄像头使用
  18. 心心念念想打游戏,游戏 套路有哪些?怎么做留存?
  19. serverlet总结
  20. java byte与char互转原理_java byte与char互转原理

热门文章

  1. visio2007序列号
  2. OD调试4----去除NAG窗口的几种方法
  3. HTML显示日期时间代码
  4. Pentest Wiki Part4 后渗透(二)
  5. 计算机专业老师新学期工作计划,2020教师新学期工作计划5篇
  6. 《Python编程从入门到实践》———第一章
  7. SpringMVC拦截器: 继承 HandlerInterceptor
  8. STM32G474 CANFD 用例详解
  9. ubuntu 的 kitti2bag安装与测试
  10. Smart3D三维建模操作笔记