如何通过调度作业每天运行一个查询

uxhixvfz  于 2021-05-27  发布在  Hadoop
关注(0)|答案(3)|浏览(341)

我是hadoop新手。我想每天运行一个特定的查询并获取存储在配置单元表中的信息。
如何使用作业调度和计时器安排查询每天运行?

u2nhd7ah

u2nhd7ah1#

您还可以创建一个oozie作业,使用oozie中的shell操作来运行上面的hiveshell命令。您甚至可以根据需要安排此作业,并可以监视该作业以及控制台上的日志

uurv41yg

uurv41yg2#

创建shell脚本并通过shell运行配置单元查询。将shell脚本放在crontab中
脚本.sh

error_handler() 
{
 echo "ERROR: $1" 1>&2 
} 

hive -f /usr/hadoop/hive_folder/hivequery.hql 
if [ $? -ne 0 ];
then error_handler "hive query failed" 
fi 

echo "Hive query completed"

crontab:

01 00 * * * hive -f /usr/hadoop/hive_folder/script.sh   /usr/hadoop/hive_folder/job_$(date +\%Y\%m\%d.\%H\%M).log 2>&1
pinkon5k

pinkon5k3#

你可以通过cronjob来安排。
首先,将配置单元查询保存在.hql文件中,然后转到 crontab -e 然后键入这样的内容。这将在当地时间每天上午00:01运行配置单元查询。

01 00 * * * hive -f /usr/hadoop/hive_folder/hivequery.hql

相关问题