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

Hive的文件合并

背景:Flink数据写入到stage层,然后再入ods层,中间导致hive数据实时性不强,随后做优化,Flink之间以orc格式写入到hive

问题:单表日800亿数据量,产生过多的小文件,影响Impala查询

解决:对hive小文件进行合并,

ALTER TABLE lt_ipsy_xdr_temp PARTITION (day=20230829, hour=9,type=4) CONCATENATE;

目前大数据平台hdfs数据存储情况:

数据仓库中的表:
1.stg层是把flink应用程序写入的数据load进入的;
2.ods层表名称中包含ai的表是从mysql导入的; 
/_SCRATCH0 这些目录是sqoop 把mysql数据导入hive时生成的临时目录,可以删除。
3.stg 和 ods 的 tb_bu_dc_monitor_day 是外部表,其他层的表都是内部表;
4.stg层是原始数据,没有经过压缩处理,ods及以后其他各层都是orc格式
 

使用hive concatenate (外部表不可用,内部表可用,orc可用,分桶表不可用)
使用方式:

#1.设置文件最小大小(需要设置,否则合并操作可能会不理想):
SET mapreduce.input.fileinputformat.split.maxsize=256
#对于非分区表
alter table A concatenate;
#2.对于分区表
ALTER TABLE lt_ipsy_xdr_temp PARTITION (day=20230829, hour=9,type=4) CONCATENATE;

因为分桶表不适用,所以可以采用覆写的方式

INSERT OVERWRITE TABLE table 

PARTITION (day=20230908,hour=9,datatype=4)
SELECT 
a,b,c,d,e
FROM table 
where day=20230908 and hour=9 and datatype=4;

相关文章:

  • Flink 中kafka broker缩容导致Task一直重启
  • Spring5应用之事务处理
  • 基于JavaWeb的图书售卖网站(源码+部署+LW)
  • 保姆级微服务部署教程
  • 机器视觉在自动驾驶汽车中的应用与挑战
  • 如何在 Spring Boot 中进行数据备份
  • 使用antd-pro脚手架搭建react ts项目
  • 面试准备-软件工程
  • Git相关知识(1)
  • Ceph介绍与部署
  • AF_UNIX和127.0.0.1(AF_INET)回环地址写数据速度对比(二)
  • 数据结构—顺序表
  • 读书笔记—《如何阅读一本书》
  • 查看和分析 IIS 日志文件以增强 Web 服务器安全性
  • 2023年【危险化学品生产单位安全生产管理人员】及危险化学品生产单位安全生产管理人员模拟考试题
  • PostgreSQL limit 语法
  • ROS-PX4仿真笔记_1
  • 电脑散热——液金散热
  • 超自动化加速落地,助力运营效率和用户体验显著提升|爱分析报告
  • MAC版Gradle构建Spring5.X源码阅读环境
  • 被取消总统候选人资格,金文洙:将采取政治法律措施讨回公道
  • 领证不用户口本,还需哪些材料?补领证件如何操作?七问七答
  • 会计江湖|年报披露关注什么:独董给出的“信号”
  • 上海第四批土拍成交额97亿元:杨浦宅地成交楼板单价半年涨近7000元
  • 上报集团社长李芸:发挥媒体优势,让中非民心在数字时代更深层互联互通
  • 长期对组织隐瞒真实年龄,广元市城发集团原董事韩治成被双开