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;

相关推荐
这个DBA有点耶16 小时前
数据迁移避坑指南:从Oracle到国产数据库的兼容性问题
数据库·数据仓库·sql·oracle·dba
灰太狼!!20 小时前
数仓、接口开发常用clickhouses函数详解
数据仓库·sql·clickhouse
Daorigin_com21 小时前
从“被动领罚”到“主动合规”:强监管时代下,道本科技用数字化为企业筑牢“合规生命线”
大数据·数据仓库·科技·流程图·软件构建·数据库开发·数据库架构
一个数据大开发21 小时前
大模型驱动下的数据中台架构演进:从服务化到智能化
大数据·数据仓库·vscode·pycharm
阿坤带你走近大数据1 天前
Hadoop中的MapReduce介绍
大数据·hadoop·mapreduce
阿坤带你走近大数据1 天前
HiveSQL常见性能调优策略与经验
hive·sql·调优
nvd112 天前
折腾 Niri WM:手搓一个完美的多显示器下拉终端 (Drop-down Terminal)
数据仓库
QQ12958455042 天前
FERP50 - Excel以存储过程方式访问数据仓库
数据仓库·spark·excel
It's Q2 天前
Hive序列函数&&排名函数
数据仓库·hive·hadoop
Irene19912 天前
外部表(EXTERNAL_TABLE)Hive 借用数据,删表不删数据
hive·内部表·外部表