当前位置: 首页 > news >正文

hive on tez如何设置写hdfs的数据文件为gz压缩

在 Hive on Tez 中设置写入 HDFS 的数据文件为 GZIP 压缩,需通过配置 Hive 会话参数和表属性实现。以下是具体步骤及方法:

1. 开启 Hive 输出压缩功能

在 Hive 会话中启用最终输出压缩,并指定 GZIP 压缩格式:

-- 开启 Hive 最终输出压缩
SET hive.exec.compress.output = true;

-- 设置 MapReduce 输出压缩为 GZIP
SET mapreduce.output.fileoutputformat.compress = true;
SET mapreduce.output.fileoutputformat.compress.codec = org.apache.hadoop.io.compress.GzipCodec;
SET mapreduce.output.fileoutputformat.compress.type = BLOCK;  -- 块压缩(默认行压缩,BLOCK 压缩率更高)

这些参数会作用于当前会话的所有输出操作。


2. 创建表时指定压缩格式(可选)

若需表默认以 GZIP 压缩存储数据,可在建表语句中通过 TBLPROPERTIES 声明:

CREATE TABLE example_table (
    id INT,
    name STRING
) STORED AS TEXTFILE  -- 存储格式需支持压缩(如 TEXTFILE、SEQUENCEFILE 等)
TBLPROPERTIES (
    'compression' = 'GZIP'  -- 指定压缩算法为 GZIP
);

此配置会确保该表的所有写入操作自动应用 GZIP 压缩。


3. 插入数据时动态启用压缩

即使表未预设压缩属性,也可在 INSERT 语句中临时启用 GZIP 压缩:

-- 动态设置压缩参数(覆盖会话默认值)
SET mapreduce.output.fileoutputformat.compress.codec = org.apache.hadoop.io.compress.GzipCodec;

-- 执行数据写入
INSERT OVERWRITE TABLE example_table
SELECT id, name FROM source_table;

此方式灵活适用于临时性压缩需求。


4. 验证压缩效果

写入完成后,可通过 HDFS 命令检查文件是否为 .gz 格式:

hdfs dfs -ls /user/hive/warehouse/example_table

输出文件应显示类似 000000_0.gz 的命名,表明压缩成功。


注意事项

存储格式兼容性:GZIP 压缩适用于 TEXTFILESEQUENCEFILE 等格式,但 ORC/PARQUET 列式存储格式通常内置更高效的压缩算法(如 ZLIB),建议优先使用列式存储。
性能权衡:GZIP 压缩率高但 CPU 开销较大,适合冷数据存储;若需更高性能,可考虑 Snappy(压缩率略低但速度快)。
小文件合并:若输出产生过多小文件,需结合 hive.merge 参数合并(如 hive.merge.size.per.task)以避免 HDFS 存储效率下降。

通过上述配置,可有效将 Hive on Tez 的 HDFS 输出文件压缩为 GZIP 格式,平衡存储成本与查询性能。

相关文章:

  • Python库之PyAutoGUI使用操作文本文件
  • e2studio开发RA4M2(15)----配置RTC时钟及显示时间
  • AutoSar架构学习笔记
  • 7、什么是死锁,如何避免死锁?【高频】
  • javaweb自用笔记:Vue
  • 计算机软考(二)-思维导图
  • linux如何在某个文件夹下查看所有文件(层级只到当前文件夹的两层)并找到‘XXXX’ 这个单词
  • 性能测试监控工具jmeter+grafana
  • 软考中级-数据库-3.4 数据结构-图
  • sql-labs靶场笔记
  • list
  • 一些相关知识
  • 队列的顺序结构——循环队列——入队
  • 【零基础到精通Java合集】第十一集:List集合框架与泛型
  • 【练习】【链表】力扣热题100 2. 两数相加
  • 鸿蒙开发中,数据持久化之Transaction(事务)的概念及应用
  • C语言基础要素(010):复合赋值
  • Android 14 - HDMI_CEC架构分析
  • Go语言学习笔记(六)——标准库
  • 量子算法:英译名、概念、历史、现状与展望?
  • 汉化主题做网站效果图/广州疫情最新情况
  • 免费网站排名优化/seo需要什么技术
  • cpu wordpress/重庆网站页面优化
  • 云南省住房和城乡建设厅官方网站/2021年重大新闻事件
  • wordpress 全图片/优化大师破解版app
  • 北京做网站那家好/宁波seo推广如何收费