当前位置: 首页 > 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/87982.html

相关文章:

  • 蜘蛛抓取网站模块原理竞价培训课程
  • 信息发布网站推广技巧手机百度极速版
  • 在一个城市做相亲网站seo优化工具有哪些
  • 网站模板源码免费下载2022最新引流推广平台
  • 怎么样做网站的目录结构外链发布平台大全
  • 企业网站建设电话黑马培训机构可靠吗
  • 英文案例网站深圳网络推广培训学校
  • 电脑做网站软件平台交易网
  • 百度网站提交地址淘宝推广方式
  • 做网站正规公司系统优化app最新版
  • 菏泽外贸网站建设公司网站seo入门基础教程书籍
  • 哪家购物网站做的好网站搭建模板
  • 长春做网站大公司湖南seo排名
  • 成都哪里可以做网站腾讯企点下载
  • 做电商必须知道的网站做百度网站一年多少钱
  • 论述网站建设整个流程经典软文推广案例
  • 福田做商城网站建设哪家技术好杭州网络推广
  • 常州免费企业网站建设sem是什么品牌
  • 给别人做网站别人违法经营6网站优化检测工具
  • 网站建费用北京seo关键词排名优化
  • 论坛网站推广方案百度网站排名优化软件
  • 唐山网站建设价格优化大师班级优化大师
  • 整合营销是什么优化推广网站淄博
  • 怎么用python做网站seo教程论坛
  • 哪个网站做网销更好百度百科推广费用
  • 长沙做电商网站设计深圳网站推广
  • 做网站推广一年多少钱深圳疫情最新情况
  • 可以做专利聚类分析的免费网站seo推荐
  • 网站建设制作设计营销 上海免费推广网
  • 做资源分享网站百度极速版app下载安装挣钱