Hive迁移,小表(10G以下的),分区快速修复批量脚本

hive迁移要迁移元数据(mysql),要迁移实际数据hdfs,迁移完后如果有分区,通常是不能访问的。

这里就要修复分区了,如果是大表,几十T这种,迁移可能花了24小时,那么你修复分区也可能花这么久,这种表就得手动分区比较快。参考这个几分钟。hive迁移后修复分区慢,怎么办?-CSDN博客

大表就只有那么多张,其他大部分都是小表,比如我这个小表有2000张。

主要用的是MSCK REPAIR TABLE table_name

脚本如下

repair_table.sh

bash 复制代码
#!/bin/bash

# 设置beeline的连接信息
BEELINE_CMD="beeline -u jdbc:hive2://your_hive_server:10000 -n your_username -p your_password"
#kerbers方式
#BEELINE_CMD="beeline -u jdbc:hive2://xxx:7001/xxx;principal=hadoop/xxx@xxxx"

# 读取包含表名的txt文件
while IFS= read -r table_name
do
    # 执行MSCK REPAIR TABLE命令
    echo "Repairing partitions for table: $table_name"
    $BEELINE_CMD -e "MSCK REPAIR TABLE $table_name;"
    if [ $? -eq 0 ]; then
        echo "Successfully repaired partitions for table: $table_name"
    else
        echo "Failed to repair partitions for table: $table_name"
    fi
done < "$1"

建议第一次,先在下面的table.txt,提供几张小表,测试下,然后没问题,在一次性丢几千张表进去。

用法,准备一个含所有表名的txt

table.txt

里面的内容是

table_name123

ods_a

ods_a12

dwd_b

用法

sh repair_table.sh table.txt

成功,之后自己beeline去hive里面查下就行了

相关推荐
亲亲菱纱5 小时前
20251202
数据仓库
青云交16 小时前
Java 大视界 -- Java 大数据在智能教育学习成果评估体系完善与教育质量提升中的深度应用(434)
java·hive·spark·智能教育·学习成果评估·教育质量提升·实时评估
SelectDB技术团队18 小时前
面向 Agent 的高并发分析:Doris vs. Snowflake vs. ClickHouse
数据仓库·人工智能·科技·apache·知识图谱
德昂信息dataondemand19 小时前
数据仓库性能优化:从模型到调度的系统性实践
数据仓库·性能优化
天天向上杰19 小时前
小聊:银行数据仓库项目中 DEV → SIT → UAT → PRE-PROD → PROD
数据仓库
RestCloud1 天前
如何用ETL做实时风控?从交易日志到告警系统的实现
数据库·数据仓库·kafka·数据安全·etl·数据处理·数据集成
咨询QQ:4877392782 天前
探索Qt下的UI皮肤生成器:多风格与编译那些事儿
hive
阿杰同学2 天前
Hadoop 面试题及答案整理,最新面试题
大数据·hadoop·分布式
皓空揽月2 天前
Ubuntu 单机安装 Hadoop 3.2.4教程
linux·hadoop·ubuntu
QQ12958455042 天前
SSAS-检查字段里的不可见字符
数据库·数据仓库·数据分析