如何获得hiveql脚本占用的时间

bwitn5fc  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(391)

我有一组配置单元查询,并将其作为作业运行。例如:hive1.hql、hive2.hql、hive3.hql在运行时,我需要用.hql中编写的查询所花费的时间来编写每个文件名。输出应该是
hive1.hql 30秒
hive2.hql 22秒
hive3.sql 11秒
如何使用配置单元和shell脚本实现这一点。提前谢谢!

xxslljrj

xxslljrj1#

你可以使用下面的代码。
(请注意,此代码可能需要根据您的需要进行一些更改)


######################################################################### 

############################# 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;

希望这有帮助

相关问题