概述
数据每天都要抽取到hive中,在生产中可能会遇到各种各样的问题,比如集群宕机,kafka出现故障等等,可以写一个shell脚本,从hive中拿到数据,然后将报警信息发送邮件或者企业微信。
脚本如下:
#!/bin
##发送微信
in_date=$1
if [ ! $in_date ]; then
yesterday=`date -d "yesterday" '+%Y%m%d'`
yesterday1=`date -d "yesterday" '+%Y-%m-%d'`
else
yesterday=$in_date
yesterday1=`date -d "$in_date" '+%Y-%m-%d'`
fi
today=`date +%Y-%m-%d`
echo $yesterday
echo $yesterday1
echo $today
time1="$yesterday1 00:00:00"
time2="$yesterday1 12:00:00"
time3="$today 00:00:00"
echo $time1
echo $time2
echo $time3
sql="select count(*) from ods.test where log_day='$yesterday' and time between '$time1' and '$time2'"
sql1="select count(*) from ods.test where log_day='$yesterday' and time between '$time2' and '$time3'"
var=`hive -e "${sql}" | grep -v "WARN"`
var1=`hive -e "${sql1}" | grep -v "WARN"`
if [ $var -le 1000 ]
then
echo "数据量小于1000,请核实!"
warn1="警告:"$time2"抽取数据量小于1000,请核实!"
发送邮件或者企业微信脚本 $warn1
fi
echo "警告:" $time2 "抽取" $var"条数据"
if [ $var1 -le 2000 ]
then
echo "数据量小于2000,请核实!"
warn2="警告:"$time3"抽取数据量小于2000,请核实!"
发送邮件或者企业微信脚本 $warn2
fi
echo "警告:" $time3 "抽取" $var1"条数据"
最后
以上就是潇洒小鸭子为你收集整理的shell脚本获取hive中数据,并进行预警的全部内容,希望文章能够帮你解决shell脚本获取hive中数据,并进行预警所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复