INFO-Hive2.1.1归档功能开启
更新时间: 2024-06-11 06:16:57
阅读 392
INFO-Hive2.1.1归档功能开启
适用模块
Hive仅完成Hive2.1.1版本验证,支持客户试用,不提供SLA保障
具体说明
由于HDFS设计,文件系统中文件数量直接影响namenode中的内存消耗; 使用Hadoop Archives功能是减少小文件数量的一种方法;Hive支持将分区中的文件转换为Hadoop存档(HAR)的内置支持,因此曾经可能包含大量小文件的分区可以缩减为个位数,但从HAR读取会带来额外的开销,查询性能明显下降;功能配置
一、 拷贝归档Jar包至Hive路径下
#!/bin/bash
# $HADOOP_HOME默认路径一般为/usr/easyops/hdfs/default_hdfs/client/2023041209360881676b27d20/current,其中2023041209360881676b27d20为部署时自动生成,需根据客户环境进行替换
# $HIVE_HOME默认路径一般为/usr/easyops/hive/default_hive/hiveserver/20230417150238445eb5593f0/current/,其中20230417150238445eb5593f0为部署时自动生成,需根据客户环境进行替换
cd $HADOOP_HOME
cp /share/hadoop/tools/lib/hadoop-archives-2.9.2.jar $HIVE_HOME/lib
二、开放参数白名单
参数名为:hive.security.authorization.sqlstd.confwhitelist.append (如不存在则点击添加字段,新增该参数)
参数值为:hive.archive.enabled|har.partfile.size|hive.archive.har.parentdir.settable 修改完成后保存,重启HiveServer服务并勾选同步配置(如存在多个节点则均需重启)
三、功能验证
-- 启用归档
set hive.archive.enabled=true;
sethar.partfile.size=1099511627776;
alter table bdms.demo ARCHIVE PARTITION(dt = '2024-01-01');
-- 恢复归档
alter table bdms.demo UNARCHIVE PARTITION(dt = '2024-01-01');
四、已知问题
- 默认的HiveHarFileSystem.getFileBloclLocations(),没有locality,这意味着将会导致更高的网络负载进而影响整个集群的性能;
- 多个任务同时归档同一个分区,将会引发未知问题;
作者:Semon
文档反馈
以上内容对您是否有帮助?