大数据学习(5)-hive文件格式

&&大数据学习&&

🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门

💖如果觉得博主的文章还不错的话,请点赞👍+收藏⭐️+留言📝支持一下博>主哦🤞


在Hive中,常见的文件存储格式包括TestFile、SequenceFile、RcFile、ORC、Parquet和AVRO。默认的文件存储格式是TestFile,如果在建表时不指定存储格式,则导入数据时会直接把数据文件拷贝到HDFS上不进行处理。除TestFile外的其他格式的表不能直接从本地文件导入数据,数据要先导入到TestFile格式的表中,然后再从表中用insert导入到其他格式的表中。

  1. TestFile格式:这是Hive的默认文件格式,文件存储方式为正常的文本格式。以TestFile文件格式存储的表,在HDFS上可直接查看到数据。可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但是使用这种方式,Hive不会对数据进行切分,无法对数据进行并行操作。存储方式为行存储,优势在于可使用任意的分割符进行分割,在HDFS上可查可标记,加载速度较快。劣势在于不会对数据进行压缩处理,存储空间较大、磁盘开销大、数据解析开销大。
  2. SequenceFile格式:需在建表时指定stored as sequencefile。文件存储方式为二进制文件,以键值对的形式序列化到文件中。以SequenceFile文件格式存储的表会对数据进行压缩处理,在HDFS上的数据为二进制格式,不可直接查看。可与record、none、block(块级别压缩)配合使用,默认为record,但record的压缩率低,一般建议使用block压缩。存储方式为行存储,优势在于存储时候会对数据进行压缩处理,存储空间小,支持文件切割分片,查询速度比TestFile速度快。劣势在于无法可视化展示数据,不可以直接使用load命令对数据进行加载,自身的压缩算法占用一定的空间。
  3. RcFile格式:需在建表时指定stored as rcfile。文件存储方式为二进制文件。以RcFile文件格式存储的表也会对数据进行压缩处理,在HDFS上以二进制格式存储,不可直接查看。RCFILE是一种行列存储相结合的存储方式,该存储结构遵循的是"先水平划分,再垂直划分"的设计原则。
  4. ORC格式:这是一种高效的存储格式,相比传统的行存储或者列存储,它能够在读取、写入和处理数据等多个方面提供更高的效率。
  5. Parquet格式:这也是一种高效的存储格式,适合在Hadoop、Hive等大数据处理框架中使用。

总的来说,Hive支持多种文件存储格式,具体选择哪种格式取决于具体的使用场景和需求。

需要注意的是Hive数据倾斜是指在Hive执行Map/Reduce程序时 ,某些Reduce节点的执行时间明显长于其他节点,导致整个程序的执行时间增加。这通常发生在某些key值的数据量比其他key值大很多的情况下,因为这些key值会被分发到同一个Reduce节点进行处理,从而导致该节点处理的数据量过大。

数据倾斜通常出现在Hive执行的SQL语句中包含join、group by、count distinct等操作时。为了避免数据倾斜,可以采取一些处理方式,例如设置hive.map.aggr=true(默认开启)进行部分聚合操作,或者设置hive.groupby.skewindata=true(默认关闭)进行负载均衡等。

下一期具体分析负载均衡。一起加油!!!

相关推荐
samFuB18 分钟前
【数据集】上市公司数字化与绿色化耦合协调度数据(2010-2025年)
大数据
198******126347 小时前
2026企业AI办公工具选型指南:从评估框架到场景适配
大数据·运维·人工智能
zhangrelay7 小时前
机械臂末端规划智能模型的误区演示
linux·笔记·学习·ubuntu·ros2
2601_967212727 小时前
专利型电源轨道系统技术路线对比与选型框架
大数据·运维·网络·经验分享
数字化顾问8 小时前
(138页PPT)流程体系的建设优化与运营(附下载方式)
大数据·运维·人工智能
织码weavecodes9 小时前
培训平台部署备份与容灾:从三服务交付到可恢复运行
大数据·学习·开源软件
天涯明月19939 小时前
世界模型:原理、范式与工程实践
大数据·人工智能·大模型·具身智能·世界模型
JWASX10 小时前
Java 转 go 学习 - 类型转换
学习·golang
梦想画家11 小时前
SQLMesh Python 模型入门(三):前后置语句、蓝图建模与避坑指南
大数据·python·sqlmesh
和裕11 小时前
年度框架直供 vs 零散按需采购:定制纸箱采购成本、交付与服务核心区别全对比
大数据·运维·网络·人工智能·算法