我是靠谱客的博主 潇洒小鸭子,最近开发中收集的这篇文章主要介绍shell脚本获取hive中数据,并进行预警,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

数据每天都要抽取到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中数据,并进行预警所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部