hive迁移后修复分区慢,怎么办?

我有1个30TB的分区表,客户给的带宽只有600MB,按照150%的耗时来算,大概要迁移17小时。

使用hive自带的修复分区命令(一般修复分区比迁移时间长一点),可能要花24小时。于是打算用前面黄大佬的牛B方案。

msck repair table分区慢的原因:

与当前分区目录下的文件大小无关,只与分区目录【数量】有关,分区目录越多,二级(或子级)目录越多,分区就越慢


Hive增量迁移:创建表结构+数据迁移(distcp)+修复分区

1)创建表结构 读取cdh的建表语句,在tbds上创建表

2)数据迁移 同distcp

3)分区数据 msck repair table XX(alter table XX recover partitions) 修复太慢;改用查询元数据库,对比两边分区数据差异项,然后拼接成add partition语句,来执行。

例如之前修复一个1000个分区的表,需要8h(质疑?--我后面用了10T的表,测试了下200个一级分区也才3分钟修复)

hive:

一级分区:alter table XX add partition (etl_date=20240101);

alter table XX add partition (etl_date=20240101);

二级分区:alter table XX add partition (etl_yn=2024,etl_mn=01);

alter table XX add partition (etl_yn=2024,etl_mn=01);

改用add partition后,1000个分区的表,10min内

上面是他的方案,我实战测试下


实战测试

1、先查询指定库的分区有几个(源端查)

beeline -u 'xxxx'进入hive

show create table 表名

查看他的分区字段

这里我们能看到他就1个分区,而且字段是dt,接下来我们来查下dt有多少个

select distinct(dt) from xxx

查询这个表30T的表,大概花了110秒

我们能看到他是以日进行分区的。

并且有542行。我们先把这个复制出来,然后拼凑成sql。

alter table XX add partition (dt=20240101);

2、然后打开notepad++,用ctrl + f 正则处理一下

大概就处理成这样

测试:

在目标端,因为我们没有修复分区,所以这里迁移完数据和元数据后,他们是查不出来数据的。

beeline -u 'xxx'

select * from xxx limit 1;

没有数据

3、接下来我们将500多条语句丢进Hive执行一下(手动分区修复)。

然后我们在执行一下查询

select * from xxx limit 1;

有数据了,手动修复成功,比hive MSCK REPAIR TABLE table_name分区命令快n倍。

相关推荐
段一凡-华北理工大学10 小时前
工业领域的Hadoop架构学习~系列文章15:机器学习与大数据融合 - 工业智能的算法引擎
大数据·人工智能·hadoop·机器学习·架构·工业智能体·高炉炼铁智能化
Database_Cool_12 小时前
AnalyticDB MySQL vs Hologres:阿里云内部数仓产品如何选——场景化选型指南
数据库·数据仓库·mysql·阿里云
Nefu_lyh13 小时前
【Hive】三、Hive 抽样:讲解 Hive 三大抽样方式:分桶抽样、块抽样、随机抽样的原理、语法、性能对比与实战案例
数据仓库·hive·hadoop
05候补工程师14 小时前
【期末/408冲刺】软件工程核心考点与大题通关秘籍(附图解与解题套路)
大数据·hadoop·经验分享·笔记·软件工程
段一凡-华北理工大学15 小时前
工业领域的Hadoop架构学习~系列文章16:实时流处理架构 - 工业数据的实时动脉
大数据·数据仓库·hadoop·分布式·学习·架构·高炉炼铁
Database_Cool_1 天前
AnalyticDB MySQL vs ClickHouse:OLAP 数据库选型深度对比——谁更适合企业级分析
数据库·数据仓库·mysql·数据分析
真上帝的左手1 天前
19. 大数据- BI 入门-数仓实战1-数据仓库的核心逻辑与落地范式
大数据·数据仓库·bi
Database_Cool_1 天前
AnalyticDB MySQL vs Apache Doris:企业级云数仓如何选型——全维度对比指南
数据库·数据仓库·mysql·阿里云
真上帝的左手2 天前
19. 大数据- BI 入门-数仓实战4-DIM 维度层
大数据·数据仓库·bi
真上帝的左手2 天前
19. 大数据- BI 入门-数仓实战终篇-数据仓库演进对比与深度思考
大数据·数据仓库·bi