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

Hive巡检脚本

Hive巡检脚本的示例:

#!/bin/bash# 设置Hive连接信息
HIVE_HOST="your_hive_host"
HIVE_PORT="your_hive_port"
HIVE_USER="your_hive_username"
HIVE_PASSWORD="your_hive_password"# 设置巡检结果输出文件路径
OUTPUT_FILE="/path/to/output.log"# 巡检开始时间
start_time=$(date +"%Y-%m-%d %H:%M:%S")
echo "Start Time:" $start_time > $OUTPUT_FILE
echo "" >> $OUTPUT_FILE# 获取Hive版本信息
version_info=$(beeline -u jdbc:hive2://$HIVE_HOST:$HIVE_PORT -n $HIVE_USER -p $HIVE_PASSWORD --outputformat=vertical --silent=true -e "set hivevar:outputfile=$OUTPUT_FILE; SELECT VERSION();")
echo "Hive Version:" $version_info >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE# 获取数据库列表
databases=$(beeline -u jdbc:hive2://$HIVE_HOST:$HIVE_PORT -n $HIVE_USER -p $HIVE_PASSWORD --outputformat=vertical --silent=true -e "set hivevar:outputfile=$OUTPUT_FILE; SHOW DATABASES;")
echo "Databases:" >> $OUTPUT_FILE
echo "$databases" >> $OUTPUT_FILE
echo "" >> $OUTPUT_FILE# 遍历数据库列表进行巡检
while read -r database; doecho "Checking database:" $databaseecho "===================================" >> $OUTPUT_FILEecho "Database:" $database >> $OUTPUT_FILE# 获取表列表tables=$(beeline -u jdbc:hive2://$HIVE_HOST:$HIVE_PORT -n $HIVE_USER -p $HIVE_PASSWORD --outputformat=vertical --silent=true -e "set hivevar:outputfile=$OUTPUT_FILE; USE $database; SHOW TABLES;")echo "Tables:" >> $OUTPUT_FILEecho "$tables" >> $OUTPUT_FILEecho "" >> $OUTPUT_FILE# 获取表数量table_count=$(echo "$tables" | wc -l)echo "Table Count:" $table_count >> $OUTPUT_FILEecho "" >> $OUTPUT_FILE# 获取表记录数和大小while read -r table; dotable_info=$(beeline -u jdbc:hive2://$HIVE_HOST:$HIVE_PORT -n $HIVE_USER -p $HIVE_PASSWORD --outputformat=vertical --silent=true -e "set hivevar:outputfile=$OUTPUT_FILE; USE $database; SELECT COUNT(*) FROM $table;")echo "Table: $table" >> $OUTPUT_FILEecho "Table Record Count:" >> $OUTPUT_FILEecho "$table_info" >> $OUTPUT_FILEtable_size_info=$(beeline -u jdbc:hive2://$HIVE_HOST:$HIVE_PORT -n $HIVE_USER -p $HIVE_PASSWORD --outputformat=vertical --silent=true -e "set hivevar:outputfile=$OUTPUT_FILE; USE $database; DESCRIBE FORMATTED $table;" | grep "Total Size")echo "Table Size:" >> $OUTPUT_FILEecho "$table_size_info" >> $OUTPUT_FILEecho "" >> $OUTPUT_FILEdone <<< "$tables"echo "===================================" >> $OUTPUT_FILEecho "" >> $OUTPUT_FILE
done <<< "$databases"# 巡检结束时间
end_time=$(date +"%Y-%m-%d %H:%M:%S")
echo "End Time:" $end_time >> $OUTPUT_FILEecho "Hive inspection completed. Please check the output file: $OUTPUT_FILE"

请根据需要修改 HIVE_HOSTHIVE_PORTHIVE_USERHIVE_PASSWORDOUTPUT_FILE 变量为你的Hive连接信息和输出文件路径。运行脚本后,将会生成一个巡检报告文件,其中包含了Hive版本、每个数据库的表列表、表数量、表的记录数和大小等信息。

这只是一个基本的示例脚本,你可以根据具体需求进行扩展和定制,添加更多的巡检项和检查规则。

http://www.lryc.cn/news/107342.html

相关文章:

  • 【状态估计】基于UKF法、AUKF法的电力系统三相状态估计研究(Matlab代码实现)
  • webpack复习
  • 开始学习 Kafka,一文掌握基本概念|Kafka 系列 一
  • Couldn‘t lock the file :/tmp/bbc-filesystem-base_syscache_service
  • vscode 通过mongoose 连接mongodb atlas
  • 记录 Vue3 + Ts 类型使用
  • 主从同步带来的业务问题
  • 主动带宽控制工具
  • 数据采集的方法有哪些?
  • linux重新学习-纪录篇
  • 为机器人装“大脑” 谷歌发布RT-2大模型
  • JavaEE 面试常见问题
  • 06 HTTP(下)
  • clickhouse调研报告2
  • TensorRT学习笔记--基于TensorRT部署YoloV3, YoloV5和YoloV8
  • 原型链污染,nodejs逃逸例子
  • nlohmann::json 中文乱码解决方案
  • IDEA中maven项目失效,pom.xml文件橙色/橘色
  • 【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 2
  • IntelliJ IDEA 2023.2社区版插件汇总
  • Sheel编写关于mysqldump实现分库分表备份
  • Rust的入门篇(上)
  • 数字滚动变化-指令形式
  • LNMP搭建及论坛搭建
  • 小程序商品如何开启秒杀?
  • vue 标题文字字数过长超出部分用...代替 动态显示
  • DAY2,C高级(shell脚本的使用)
  • maven中的properties标签
  • [openCV]基于拟合中线的智能车巡线方案V2
  • 软件测试环境讲解