当前位置: 首页 > news >正文

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

#!/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_2BEELINE_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
dosource_path=hdfs://xx.xx.xx.7:8020/apps/hive/warehouse/bigdata.db/$table_nametarget_path=hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db/$table_nameecho "删除表: $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 ]; thenecho "Successfully repaired partitions for table: $table_name"elseecho "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)


http://www.mrgr.cn/news/90679.html

相关文章:

  • Java的synchronized是怎么实现的?
  • Window、Linux 系统重启命令
  • 微信小程序自定义tabbar,跳转tabbar后页面加载路径不正确
  • 今日AI和商界事件(2025-02-13)
  • 【ubuntu24.04】 强制重启导致大模型的磁盘挂载出错
  • YOLO算法模型检测利用手机IP摄像头
  • Linux初始化 配置yum源
  • 大数据学习之PB级百战出行网约车二
  • poi 将图片写入到excel文件中
  • vue开发06:前端通过webpack配置代理处理跨域问题
  • NumPy中生成和堆叠数组、生成切片的特殊对象:np.r_ np.c_ np.s_
  • 欧盟《人工智能法案》
  • SolidWorks C# How
  • 大模型WebUI:Gradio全解12——使用Agents和Tools智能代理工具构建UI(1)
  • 系统URL整合系列【不改hosts文件版】-- 代码1(springcloud-gateway动态路由)
  • 教程 | Proxmox VE(PVE)安装全流程指南(末尾附镜像及快速配置脚本)
  • 250213-异常exception
  • 【鸿蒙】ArkUI-X跨平台问题集锦
  • Elasticvue使用总结
  • Navicat导入海量Excel数据到数据库(简易介绍)
  • Linux——stdio
  • CentOS 7操作系统部署KVM软件和创建虚拟机
  • JavaScript 发起网络请求
  • DeepSeek教unity------MessagePack-01
  • 【2025深度学习系列专栏大纲:深入探索与实践深度学习】
  • PostgreSQL 备库的延迟问题