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里面查下就行了

相关推荐
jinxinyuuuus1 天前
vsGPU:硬件参数的数据仓库设计、ETL流程与前端OLAP分析
前端·数据仓库·etl
编织幻境的妖1 天前
ETL、数据仓库与数据湖详解
数据仓库·etl
爱吃大芒果1 天前
Flutter 本地存储方案:SharedPreferences、SQFlite 与 Hive
开发语言·javascript·hive·hadoop·flutter·华为·harmonyos
咨询qq 8762239651 天前
三相逆变器MPC控制:从原理到仿真实践
数据仓库
shjita1 天前
hadoop运行jar包的相关配置参考!
大数据·hadoop·分布式
yumgpkpm1 天前
AI大模型手机的“简单替换陷阱”与Hadoop、Cloudera CDP 7大数据底座的关系探析
大数据·人工智能·hadoop·华为·spark·kafka·cloudera
yumgpkpm1 天前
(简略)AI 大模型 手机的“简单替换陷阱”与Hadoop、Cloudera CDP 7大数据底座的关系探析
人工智能·hive·zookeeper·flink·spark·kafka·开源
yumgpkpm1 天前
Cloudera CDP 7.3下载地址、方式,开源适配 CMP 7.3(或类 CDP 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)值得推荐
大数据·hive·hadoop·分布式·华为·开源·cloudera
笨蛋少年派2 天前
数据仓库系统建设:数据采集、预处理与集成
数据仓库
qq 8762239652 天前
基于Matlab/simulink的双电机建模驱动控制仿真模型:探索纯电与混动汽车世界
数据仓库