如何通过安排作业每天运行单个查询

时间:2019-02-11 12:18:07

标签: hadoop hive oozie

我是hadoop的新手。我想每天运行一个特定的查询,并获取存储在配置单元表中的信息。

如何使用作业计划和计时器安排该查询每天运行?

3 个答案:

答案 0 :(得分:0)

您可以通过cronjob安排它。

首先将您的配置单元查询保存为.hql文件

,然后转到crontab -e并输入类似这样的内容。 这将每天本地时间00.01 AM运行您的配置单元查询。

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

让我知道是否有帮助。

答案 1 :(得分:0)

创建一个shell脚本并通过该shell运行您的配置单元查询。 将Shell脚本放入Crontab

script.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

答案 2 :(得分:0)

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