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

北京住房城乡建设部网站郑州网站竞价托管

北京住房城乡建设部网站,郑州网站竞价托管,建网站能在家里做吗,住建部禾建设部是一个网站吗假设我通过对数脚本发现,这些表对不上。 假设检测出来是这样的(这些表存在于源端,但不存在目标端) 我们需要从源端迁移过去。 diff.txt ads_xx1 dt20250219 ads_xx2 dt20250217 ads_xx2 dt20250218 ads_xx2 dt20250…

假设我通过对数脚本发现,这些表对不上。

假设检测出来是这样的(这些表存在于源端,但不存在目标端)

我们需要从源端迁移过去。

diff.txt

ads_xx1    dt=20250219
ads_xx2    dt=20250217
ads_xx2    dt=20250218
ads_xx2    dt=20250219
ads_xx3    dt=20250217
ads_xx4    dt=20250217
bak_xx1    dt=20250109
bak_xx1    dt=20250110
bak_xx1    dt=20250111
bak_xx1    dt=20250112
bak_xx1    dt=20250113
dim_e    dt=20250131
dim_j    dt=20250216
dim_j    dt=20250217
dim_m_df    dt=20250216
dim_m_df    dt=20250217
dim_m_df    dt=20250218
tmp_np
tmp_an    dt=20250217
tmp_an    dt=20250218
tmp_dhc_allcon_20250131
tmp_hj    dt=20250216
tmp_hj    dt=20250217
tmp_hj_2    dt=20250216
tmp_hj_2    dt=20250217

~                                                    

脚本

#!/bin/bash
#场景:数据在同一库下,并且hive是内部表(前缀的hdfs地址是相同的)echo "" > rs.txt#1.读取每一行,获取到表名和分区名#定义map
declare -A table_map
while IFS=' ' read -r table_name fenqu_name
do#table_name为空的情况if [[ -z "${table_name// }" ]]; thenecho "变量为空或只有空格,跳过操作"continueelse#1.如果map中存在此表,并且分区不为空,则加入数组中if [[ -v table_map["$table_name"] ]]; thenecho "$table_name exists in the map!"value_arr="${table_map[$table_name]}"IFS=' ' read -r -a new_arr <<< "${table_map["$table_name"]}"#判断分区为空吗if [ ${#new_arr[@]} -eq 0 ]; thenecho "Array is empty!,不操作"elseecho "Array is not empty!加入数组,放到map"new_arr+=("$fenqu_name")table_map["$table_name"]="$(IFS=' '; echo "${new_arr[*]}")"fielse#2.如果map中不存在此表,则创建数组,分区不可能存在又缺分区又缺表的存在(跑的时候筛出来,分批跑),则放进去。echo "$table_name does not exist in the map!"value_arr=()value_arr+=("$fenqu_name")table_map["$table_name"]="$(IFS=' '; echo "${value_arr[*]}")"fifidone < "$1"
echo "-----------"
#测试一下数组中的元素
#for table_name in "${!table_map[@]}"; do
#    echo "$table_name: ${table_map[$table_name]}"
#done#2.遍历map3.遍历map
#删除每一个map里对应的分区
for table_name in "${!table_map[@]}"; dofenqu_arr_str=${table_map[$table_name]}echo "$table_name: $fenqu_arr_str"#如果没有分区,则删除表if [[ -z "$fenqu_arr_str" || "$fenqu_arr_str" =~ ^[[:space:]]*$ ]]; thenecho "hdfs dfs -rm -r hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db/$table_name"eval "hdfs dfs -rm -r hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db/$table_name"# 在这里执行相应的操作elseIFS=' ' read -r -a value_array <<< "$fenqu_arr_str"# 遍历数组for fenqu_name in "${value_array[@]}"; do# 输出每个 dtecho "hdfs dfs -rm -r hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db/$table_name/$fenqu_name"eval "hdfs dfs -rm -r hdfs://xx.xx.xx.104:4007/apps/hive/warehouse/bigdata.db/$table_name/$fenqu_name"donefi  done#3.distcp任务
for table_name in "${!table_map[@]}"; dofenqu_arr_str=${table_map[$table_name]}echo "$table_name: $fenqu_arr_str"distcp_str="hadoop distcp -skipcrccheck -i -strategy dynamic -bandwidth 30 -m 20"source_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_name#如果没有分区,则distcp表if [[ -z "$fenqu_arr_str" || "$fenqu_arr_str" =~ ^[[:space:]]*$ ]]; thendistcp_str="$distcp_str $source_path $target_path"echo "$distcp_str"eval "$distcp_str"elseIFS=' ' read -r -a value_array <<< "$fenqu_arr_str"# 遍历数组for fenqu_name in "${value_array[@]}"; do# 拼接distcp_str="$distcp_str $source_path/$fenqu_name"done#执行distcp_str="$distcp_str $target_path"echo "$distcp_str"eval "$distcp_str"fiecho "$table_name 完成" >> rs.txt
doneBEELINE_CMD="beeline -u 'jdbc:hive2://xx.xx.xx.104:7001/cfc;principal=hadoop/xx.xx.xx.104@TBDS-09T7KXLE'"
#4.修复分区
for table_name in "${!table_map[@]}"; do# 执行MSCK REPAIR TABLE命令echo "Repairing partitions for table: $table_name"$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
done

使用

nohup sh bushu.sh diff.txt &

http://www.dtcms.com/wzjs/578454.html

相关文章:

  • 网站域名注册备案教程小程序开发公司主页制作标准
  • 下载一个网站怎么在悉尼做网站
  • 网站制作策划wordpress pjax
  • 代做论文 软件指导去哪些网站软件开发流程图visio
  • 微信网站开发需要什么知识最具有口碑的网站建设
  • 介绍做燕窝的网站深圳有多少家设计公司
  • 网站手机客户端制作网站开发人员的职能
  • 做视频网站程序多少钱绵阳网站建设 经开区
  • 商贸公司网站建设如何做外链
  • 手机好看网站模板网站开发流程图
  • 泉山网站开发企业建站框架
  • 福田网站改版四川做网站的公司
  • 在c盘做网站可以吗牟平建设企业网站
  • 外贸网站怎么建设门户网站建设不断
  • 西海岸新区城市建设局公示网站网站开发和软件开发有什么区别
  • 为企业为什么做网站广州网站优化网站
  • 手机网站禁止缩放911制品厂麻花
  • 重庆网站优化排名软件方案php做网站子页模板
  • 一个网站需要几个人做花生壳域名还免费吗
  • 南京市建设工程造价管理处网站wordpress影音主题
  • 江都微信网站建设qq手机版
  • 常德小学报名网站在tomcat部署wordpress
  • 做网站月薪资多少钱wordpress小说自动采集
  • 綦江中国建设银行官网站国家企业信息公开网查询系统
  • 上海高端建设网站杭州计算机公司排名
  • 团建网站地推
  • 江苏微信网站建设WordPress建站评价
  • 大连网站设计室网站推荐免费的
  • 做网站需要了解哪些知识整站优化费用
  • 北京威凯建设发展招聘网站晋城市新闻