如何根据配置单元查询输出发送电子邮件。假设我有一个表格,我想检查数字是否在另一个表的另外两个数字之间。我可以在sql查询中检查它并将sql输出返回为0或1。
现在问题是我如何使用mailx或基于该sql输出的同一脚本中的等效文件发送电子邮件。
答案 0 :(得分:0)
$ var =
hive -S -e "select '0' from test;"
$ echo $ var0
$ var =
hive -S -e "select '1' from test;"
$ echo $ var
1
选项:在oozie中使用shell操作来运行shell脚本,该脚本将内联执行hive命令并将输出捕获为变量中的0/1。使用shell中的变量来调用mailx。
答案 1 :(得分:0)
您可以选择工作流程来运行,您可以使用oozie或第三方工具或着名的cron作业。您可以利用以下shell脚本根据Beeline / hive的输出发送电子邮件。
#!bin/bash
#Output variable from hive ql
Output=beeline -u ${hiveConnectionSTRING} --silent=true -e "your query that pulls the output as 0 or 1"
#Condition check and sending the email with mailx utility
if [ $Output -gt 0 ];
then
echo "output is zero"
#Email need to be added
#Username=From address(This is the name before your domain EX: Stack@domain name)
echo -e 'your email message should be here \n\n\n\nThank you,' | mailx -r $UserName -s 'Your Subject' -c stackoverflow@gmail.com(your email cc address) -- stackoverflow@gmail.com(your email to address)0
else
echo -e 'your email message should be here \n\n\n\nThank you,' | mailx -r $UserName -s 'Your Subject' -c stackoverflow@gmail.com(your email cc address) -- stackoverflow@gmail.com(your email to address)0
echo "output is 1"
fi