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

hive小文件问题

以此表为例子

CREATE TABLE `saylo.t_saylo_user_feature`(`user_id` string, `session_id` string, `value` string)
PARTITIONED BY ( `app_id` string, `datetime` timestamp)
ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' 
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'
TBLPROPERTIES ('hive.merge.size.per.task'='256000000', 'hive.merge.smallfiles.avgsize'='16000000', 'hive.merge.sparkfiles'='true')

1. SERDE

建议使用Orc,读写性能更好

2. 文件大小

‘hive.merge.size.per.task’=‘256000000’, 最大文件大小,影响最终的文件个数
‘hive.merge.smallfiles.avgsize’=‘16000000’, 触发合并的最小文件大小

3. 文件合并

INSERT OVERWRITE TABLE t_saylo_user_feature PARTITION(app_id=‘30005’,datetime=‘2025-07-09 00:00:00’)
SELECT user_id,session_id,value FROM t_saylo_user_feature
WHERE app_id=‘30005’ AND datetime=‘2025-07-09 00:00:00’;

或者
ALTER TABLE t_saylo_user_feature_test PARTITION(app_id=‘30005’,datetime=‘2025-07-03 20:00:00’) CONCATENATE;

http://www.dtcms.com/a/272670.html

相关文章:

  • 二层环路避免-STP技术
  • Linux【大数据运维】下制作Redis绿色免安装包(一)
  • 企业网络安全的“金字塔”策略:构建全方位防护体系的核心思路
  • upload-labs靶场通关详解:第20关 /.绕过
  • 以下哪种类型在Golang中不是内置类型?
  • zookeeper etcd区别
  • Keepalived+LVS实现LNMP网站的高可用部署
  • 登录为图片验证时,selenium通过token直接进入页面操作
  • Java 导出word 实现饼状图导出--可编辑数据
  • CIEDE2000 色差公式C++及MATLAB实现
  • 【零基础学AI】第35讲:策略梯度方法 - 连续控制任务实战
  • Swift 图论实战:DFS 算法解锁 LeetCode 323 连通分量个数
  • 快速搭建服务器,fetch请求从服务器获取数据
  • ReentrantLock 与 Synchronized 的区别
  • 给MySQL做定时备份,一天3次
  • method_name字段是什么
  • 单片机基础(STM32-DAY2(GPIO))
  • Linux驱动06 --- UDP
  • 飞书AI技术体系
  • web 系统对接飞书三方登录完整步骤实战使用示例
  • 低温冷启动 高温热启动
  • OpenCV 图像进阶处理:特征提取与车牌识别深度解析
  • 醋酸镨:闪亮的稀土宝藏,掀开科技应用新篇章
  • Spring IoC 如何注入一些简单的值(比如配置文件里的字符串、数字)?
  • 【文献阅读】Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data
  • MyBatis 使用教程及插件开发
  • 自动驾驶环境感知:天气数据采集与融合技术实战
  • AI-Sphere-Butler项目语音切换数字人管家形象功能老是开发不成功。
  • Oracle 数据库管理与维护实战指南(用户权限、备份恢复、性能调优)
  • 深度学习与图像处理案例 │ 基于深度学习的自动驾驶小车