大数据学习(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(默认关闭)进行负载均衡等。

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

相关推荐
字节跳动数据平台15 小时前
5000 字技术向拆解 | 火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
武子康20 小时前
大数据-239 离线数仓 - 广告业务实战:Flume 导入日志到 HDFS,并完成 Hive ODS/DWD 分层加载
大数据·后端·apache hive
字节跳动数据平台2 天前
代码量减少 70%、GPU 利用率达 95%:火山引擎多模态数据湖如何释放模思智能的算法生产力
大数据
得物技术2 天前
深入剖析Spark UI界面:参数与界面详解|得物技术
大数据·后端·spark
武子康2 天前
大数据-238 离线数仓 - 广告业务 Hive分析实战:ADS 点击率、购买率与 Top100 排名避坑
大数据·后端·apache hive
武子康3 天前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天3 天前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康5 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康6 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP6 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet