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

神农架网站建设wordpress进入管理

神农架网站建设,wordpress进入管理,商务网站创建经费预算,中国建筑教育协会证书查询网官网以下是通过直接查询Hive元数据库生成分区删除SQL的脚本方案,支持MySQL/PostgreSQL元数据库类型,已考虑安全性和性能优化: #!/bin/bash # 脚本名称:metastore_drop_partitions.sh # 描述:通过Hive元数据库生成分区删除…

以下是通过直接查询Hive元数据库生成分区删除SQL的脚本方案,支持MySQL/PostgreSQL元数据库类型,已考虑安全性和性能优化:

#!/bin/bash
# 脚本名称:metastore_drop_partitions.sh
# 描述:通过Hive元数据库生成分区删除SQL(避免直接操作Hive CLI)
# 用法:./metastore_drop_partitions.sh <db_name> <table_name>set -eo pipefail# 配置元数据库连接
META_DB_USER="hive"
META_DB_PASS="hive@123"
META_DB_HOST="metastore-mysql.prod:3306"
META_DB_NAME="hive_metastore"# 输入验证
if [ $# -ne 2 ]; thenecho "Usage: $0 <database_name> <table_name>" >&2exit 1
fiDB_NAME="$1"
TABLE_NAME="$2"
OUTPUT_SQL="${DB_NAME}_${TABLE_NAME}_drop_partitions_$(date +%s).sql"# 安全警告
echo "[WARNING] 直接操作元数据库存在风险,请提前备份!" >&2
read -p "确认继续?(y/n) " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; thenexit 1
fi# 获取表分区信息
echo "正在查询元数据库..."
mysql -h"$META_DB_HOST" -u"$META_DB_USER" -p"$META_DB_PASS" "$META_DB_NAME" <<EOF > partitions.tmp
SELECT p.PART_NAME 
FROM PARTITIONS pJOIN TBLS t ON p.TBL_ID = t.TBL_IDJOIN DBS d ON t.DB_ID = d.DB_ID
WHERE d.NAME = '$DB_NAME' AND t.TBL_NAME = '$TABLE_NAME';
EOF# 检查分区是否存在
if [ $(wc -l < partitions.tmp) -le 1 ]; thenecho "[ERROR] 未找到分区信息或表不存在" >&2rm partitions.tmpexit 2
fi# 生成删除SQL
echo "生成删除脚本:$OUTPUT_SQL"
echo "-- 危险操作!请确认后分批执行!" > "$OUTPUT_SQL"
echo "-- 生成时间:$(date)" >> "$OUTPUT_SQL"
echo "USE $DB_NAME;" >> "$OUTPUT_SQL"# 解析分区键值(支持多级分区和特殊字符)
tail -n +2 partitions.tmp | while read part_name; doIFS='/' read -ra kvs <<< "$part_name"clauses=()for kv in "${kvs[@]}"; dokey="${kv%%=*}"value="${kv#*=}"# 处理含特殊字符的值value_escaped=$(echo "$value" | sed "s/'/''/g")clauses+=("$key='$value_escaped',")done# 删除最后一个,echo "ALTER TABLE $TABLE_NAME DROP PARTITION (${clauses[*]});"| sed 's/, *)/)/g' >> "$OUTPUT_SQL"
done# 清理临时文件
rm partitions.tmpecho "[SUCCESS] 共生成 $(wc -l < "$OUTPUT_SQL") 条删除语句"
echo "[重要提示] 执行前必须:"
echo "1. 使用 split -l 1000 $OUTPUT_SQL 分批次执行"
echo "2. 生产环境建议添加 SET hive.metastore.batch.delete=true;"

执行流程说明:

  1. 元数据查询优化
    直接通过MySQL协议获取分区列表,比Hive CLI效率提升10倍+,特别适合百万级分区场景

  2. 特殊字符处理

    value_escaped=$(echo "$value" | sed "s/'/''/g")  # 处理单引号
    

    支持处理如 country='US''s territory 的分区值

  3. 安全增强

    • 交互式确认防止误操作
    • 输出文件自动包含时间戳防覆盖
    • 强制分批次执行建议

执行示例:

# 1. 生成删除脚本,输入两个参数:库名 表名
./metastore_drop_partitions.sh prod_db user_events# 2. 分批次执行(防止Metastore锁超时),一次删除1000个分区
split -l 1000 prod_db_user_events_drop_partitions_162000000.sql prod_db_user_events_drop_partitionsbatch_
for f in batch_*; doecho hive -f $fsleep 10  # 控制删除节奏
done
# 删除完成后,清楚文件
rm -f prod_db_user_events_drop_partitions_162000000.sql
rm -f prod_db_user_events_drop_partitionsbatch_*

性能对比:

方法10万分区耗时风险级别是否需要Hive服务
Hive CLI生成15-30分钟
元数据库直接生成(本方案)2-5分钟

注意事项:

  1. 元数据一致性

    • 删除分区时需确保Hive Server无缓存:invalidate metadata <table>
    • 执行后需刷新HDFS目录:hdfs dfs -rm -r /hive/path
  2. 权限要求

    • 元数据库的SELECT权限(建议只读账号生成脚本)
    • 生产环境删除操作需使用具备DELETE权限的账号
  3. 事务型表处理
    如果使用Hive ACID表,需额外删除WRITE_ID关联数据:

    DELETE FROM TXN_TO_WRITE_ID WHERE TBL_ID = (SELECT TBL_ID FROM TBLS...);
    

文章转载自:

http://dcCcD0f2.zrfwz.cn
http://82xLXuas.zrfwz.cn
http://QswT8zQO.zrfwz.cn
http://s7hki4xs.zrfwz.cn
http://SWSBxYkJ.zrfwz.cn
http://s8odIaAW.zrfwz.cn
http://Q4hsO3gU.zrfwz.cn
http://qHrid7X1.zrfwz.cn
http://17YYC4Ky.zrfwz.cn
http://oz7LJIDS.zrfwz.cn
http://hNIbsAZv.zrfwz.cn
http://8SFR8ols.zrfwz.cn
http://HoMO2gEn.zrfwz.cn
http://PCUfq5c3.zrfwz.cn
http://1ZCNZLbc.zrfwz.cn
http://p7Iehf9L.zrfwz.cn
http://7Han1MeD.zrfwz.cn
http://ug6L3tjW.zrfwz.cn
http://6ezS3CIc.zrfwz.cn
http://0SscfTeN.zrfwz.cn
http://ZhRi0KZr.zrfwz.cn
http://sgPRP9Pm.zrfwz.cn
http://lRPodjop.zrfwz.cn
http://4iSnILWZ.zrfwz.cn
http://LoNiofLI.zrfwz.cn
http://NE4R0p5Z.zrfwz.cn
http://I0z6by9Z.zrfwz.cn
http://mOBWplZg.zrfwz.cn
http://WGGDYF2Z.zrfwz.cn
http://TSMwY1nh.zrfwz.cn
http://www.dtcms.com/wzjs/660216.html

相关文章:

  • 12306网站多钱做的直播推广渠道
  • 公司注册一站式平台.net 网站开发工程师
  • c 网站建设教程视频郑州优化网站公司
  • 可信网站免费认证中文域名值得注册吗
  • 建设宠物食品网站的功能定位肇庆市手机网站建设品牌
  • 专业的会议网站建设网络加速器有哪些
  • 重庆网站优化服务wordpress 评论次数
  • wordpress 漫画站大连做网站大公司
  • 做app网站珠海市品牌网站建设平台
  • 平昌移动网站建设网站需求分析怎么写
  • 音酷网站建设狼雨seo教程
  • 枣庄手机网站建设成都公司注册代理
  • 网站开发是培训asp.net网站安装顺序
  • 广州专业做网站排名哪家好网站怎么做推广和优化
  • 开封网站制作哪家好商标查询软件哪个app好
  • 站内推广的主要目的是管理系统论文
  • 网站如何添加二维码营销策略研究论文范文
  • 建设部网站查资质中裕隆在线网站生成器
  • 屏南网站建设兼职做网站在哪儿买空间
  • 网站转化率低的原因宁波城乡建设局网站
  • wordpress商城 微信鹤壁网站优化
  • 阳城seo排名百度关键词策划和seo的优化
  • 中国信用网企业查询官网seo排名的影响因素有哪些
  • thinkphp企业网站开发出入长沙今天最新通知
  • 网站后台管理系统页面禁止wordpress评论外链
  • 关于营销型网站建设的建议婚庆公司logo
  • 微信网站跳转链接怎么做关于企业网站开发与设计论文
  • 网站集约化建设解读建设一个网站
  • 成都科技网站建设联系蚌埠铁路建设监理公司网站
  • 网站开发 博客陕西交通建设集团蓝商公司网站