Hive增量迁移方案与实操PB级

客户一共1PB数据,每天新增10T,有些表只保留3天。

需要客户提供:

a.tbl_size(大小GB) a.last_mtime(最新更新时间) a.tbl_ttl(保留时间) b.last_part_dt(分区值) b.last_part_size(最新分区大小) t_day(表更新规律,t+几)


因为目前离全量迁移,已经过了一个月了

1、先update全部的表(去掉30天以内不保留的)

删除30天内的,90T,重迁

2、其他表删除当前最新分区(不改历史,只改最近的,所以我删除最近的)

,直接迁移update

----检测当前最新分区脚本输出,删除最新分区,update迁移整张表

增量hdfs数据追平-CSDN博客

3、定时update-delete表,T+2分区数据。(客户自己跑T+1)

qianyi_delete_update.sh

bash 复制代码
#!/bin/bash

#1.读取文件

su - hadoop
#改成自己互信的票据
`kinit -kt /var/krb5kdc/emr.keytab hadoop/xx.xx.xx.107@TBDS-09XXXXXE`
#获取当天减2,T+2的时间
dt_jian_2=$(date -d "-2 days" +%Y%m%d)
echo $dt_jian_2

BEELINE_CMD="beeline -u 'jdbc:hive2://xx.xx.xx.104:7001/cfc;principal=hadoop/xx.xx.xx.104@TBDS-09XXXXXE'"

echo "时间$dt_jian_2-------------------------" >> /home/hadoop/qianyi_zengliang/rs.txt
while IFS= read -r table_name
do
    source_path=hdfs://xx.xx.xx.7:8020/apps/hive/warehouse/bigdata.db/$table_name
    target_path=hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db/$table_name
    echo "删除表: $table_name ,开始hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db/$table_name/dt=$dt_jian_2"
    hdfs dfs -rm -r hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db/$table_name/dt=$dt_jian_2
    #2.distcp,update,delete迁移
    #手动指定分区
    hadoop distcp -skipcrccheck -i -strategy dynamic -bandwidth 30 -m 20  $source_path/dt=$dt_jian_2 $target_path/dt=$dt_jian_2
    #修复分区
    $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    
    echo "完成$source_path到$target_path的t-2的更新,$dt_jian_2" >> /home/hadoop/qianyi_zengliang/rs.txt
done < "$1"

b_input_table.txt

ods_xxx

dwd_xxx

crontab -e

46 12 * * * source /etc/profile && nohup sh /home/hadoop/qianyi_zengliang/qianyi_delete_update.sh /home/hadoop/qianyi_zengliang/b_input_table.txt > /home/hadoop/qianyi_z

engliang/b.log 2>&1 &

4、最后建表补数1241张

补数没有分区的,以及分区不是dt的(1T)

相关推荐
随心............2 小时前
在开发过程中遇到问题如何解决,以及两个经典问题
hive·hadoop·spark
yumgpkpm11 小时前
CMP (类ClouderaCDP7.3(404次编译) )华为鲲鹏Aarch64(ARM)信创环境 查询2100w行 hive 查询策略
数据库·数据仓库·hive·hadoop·flink·mapreduce·big data
CoookeCola1 天前
MovieNet(A holistic dataset for movie understanding) :面向电影理解的多模态综合数据集与工具链
数据仓库·人工智能·目标检测·计算机视觉·数据挖掘
K_i1341 天前
Hadoop 集群自动化运维实战
运维·hadoop·自动化
Q26433650231 天前
【有源码】基于Python与Spark的火锅店数据可视化分析系统-基于机器学习的火锅店综合竞争力评估与可视化分析-基于用户画像聚类的火锅店市场细分与可视化研究
大数据·hadoop·python·机器学习·数据分析·spark·毕业设计
想ai抽2 天前
深入starrocks-多列联合统计一致性探查与策略(YY一下)
java·数据库·数据仓库
starfalling10242 天前
【hive】一种高效增量表的实现
hive
顧棟2 天前
【Yarn实战】Yarn 2.9.1滚动升级到3.4.1调研与实践验证
hadoop·yarn
D明明就是我2 天前
Hive 拉链表
数据仓库·hive·hadoop
嘉禾望岗5032 天前
hive join优化和数据倾斜处理
数据仓库·hive·hadoop