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

hive全量迁移脚本

#!/bin/bash
#场景:数据在同一库下,并且hive是内部表(前缀的hdfs地址是相同的)

#1.读取一个文件,获取表名

#echo "时间$dt_jian_2-------------------------" >> /home/hadoop/qianyi_zengliang/rs.txt

#跟客户宽带有关,万兆(1.2g),然后咨询业务后,看监控高峰,大概可以用一般600mb/s
pinjie="hadoop distcp -skipcrccheck -i -strategy dynamic -bandwidth 30 -m 20 "
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"
    hdfs dfs -rm -r $target_path
    #2.删除目标表所有的路径,拼接起来
    pinjie="$pinjie $source_path"

   done < "$1"

#3.拼接所有的地址,迁移到一个库下,改成自己的
pinjie="$pinjie hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db"
$pinjie


# 设置beeline的连接信息,改成自己的
BEELINE_CMD="beeline -u 'jdbc:hive2://xx.xx.xx.104:7001/cfc;principal=hadoop/xx.xx.xx.104@TBDS-09T7KXLE'"

#4.进行表分区修复
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"

使用方法

sh xx.sh input_table.txt

input_table.txt要保证,里面是一个个表名,并且他们都在同一个hdfs库的目录下。


http://www.kler.cn/a/550440.html

相关文章:

  • 计算光学基础
  • 【设计模式】【结构型模式】桥接模式(Bridge)
  • VueRouter 实例
  • 基于Flask的广西高校舆情分析系统的设计与实现
  • 深入理解 Shell 脚本执行方式:`source`、`./xx.sh`、`bash xx.sh` 和 `sh xx.sh`
  • leetcode88.合并两个有序数组
  • CMake configure_file
  • 数字水印嵌入及提取系统——基于小波变换GUI
  • 基于springcloud微服务架构的巡游出租管理平台
  • JDK、Nginx、Kafka、Zookeeper安装部署
  • 网络安全专业好就业吗?
  • 【力扣】114.二叉树展开为链表
  • 使用神经网络对驾驶数据进行道路类型分类
  • TCP/IP参考模型之区别(Differences Between the OSI and TCP/IP Reference Models)
  • python下载文件
  • QML 部件获得焦点触发的全局槽函数 onActiveFocusItemChanged
  • Android车机DIY开发之软件篇(十七) Android模拟器移植Automotive
  • 使用 AbilityKit 创建服务卡片
  • iOS 中使用 FFmpeg 的高级功能 - 滤镜(Filters)
  • Office word打开加载比较慢处理方法