我有一组hive查询并将其作为一项工作运行。 例如:hive1.hql,hive2.hql,hive3.hql 在运行时我需要用.hql中编写的查询写入每个文件名。 输出应该像
hive1.hql 30秒
hive2.hql 22秒
hive3.sql 11秒
我如何通过HIVE& amp; SHELL脚本。 在此先感谢!
答案 0 :(得分:0)
您可以使用以下代码。
(请注意,此代码可能需要根据您的需要进行一些更改)
#########################################################################
############################# DRAFT SCRIPT ########################
### HEADER - PROGRAM NAME - <Temp.sh>
#########################################################################
#########################################################################
##################################
###DEFINING THE LOCAL VARIABLES###
##################################
DATE=$(date +"%Y%m%d_%H%M%S")
LOGFILE="/home/LOG/"$DATE".log"
echo "Executing hive script " >> $LOGFILE
START=$(date +%s);
hive -f /home/HIVE/hive1.hql
END=$(date +%s);
echo "hive1.hql"
echo $((END-START)) | awk '{print int($1/60)":"int($1%60)}'
echo "Hive1 process is done";
START1=$(date +%s);
hive -f /home/HIVE/hive2.hql
END1=$(date +%s);
echo "hive2.hql"
echo $((END1-START1)) | awk '{print int($1/60)":"int($1%60)}'
echo "Hive2 process is done";
exit;
希望这有助于