как выполнять один запрос каждый день, планируя задания - PullRequest
0 голосов
/ 11 февраля 2019

Я новичок в hadoop.Я хочу ежедневно выполнять определенный запрос и получать информацию, хранящуюся в таблице кустов.

Как я могу запланировать выполнение этого запроса каждый день, используя расписание заданий и таймер?

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019

создайте сценарий оболочки и выполните свой запрос улья через оболочку.Поместите сценарий оболочки в 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
0 голосов
/ 15 февраля 2019

Вы также можете создать задание oozie для запуска вышеуказанной команды оболочки улья, используя действие оболочки в oozie.Вы даже можете запланировать эту работу, как хотите, и можете отслеживать работу вместе с журналами на консоли Hue

0 голосов
/ 13 февраля 2019

Вы можете запланировать это с помощью cronjob.

Прежде всего сохраните ваш запрос улья в файле .hql

, а затем перейдите в crontab -e и наберите что-то вроде этого.Это будет выполнять ваш запрос улья каждый день в 00.01 по местному времени.

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

Дайте мне знать, если это поможет.

...