1

Я хочу запланировать работу oozie, основанную на папке, т.е.Как планировать работу OOZIE, если в данной папке произошли какие-либо изменения?

У меня есть папка в HDFS месте и каждый день один файл будет добавить в эту папку с форматом date.txt (Exp: 20160802.txt).

Я хочу запланировать пакет OOZIE, если какой-либо новый файл добавить в эту папку.

Пожалуйста, помогите мне в этом, как я могу запланировать в моем сценарии использования.

Заранее спасибо.

ответ

1

Рабочие задания Oozie выполняются на основе регулярных временных интервалов и/или доступности данных. И в некоторых случаях они могут быть вызваны внешним событием. Здесь играет координатор.

Вы можете использовать координатор oozie, чтобы проверить зависимость данных и запустить рабочий процесс oozie с координатором EL functions В вашем случае каждый день ваш файл становится добавлен в HDFS с timestamp.So с набором данных вы можете достичь.

Из документации

Пример Набор данных производится один раз в день в 00:15 PST8PDT и сделал флаг установлен опорожнить:

<dataset name="logs" frequency="${coord:days(1)}" 
      initial-instance="2009-02-15T08:15Z" timezone="America/Los_Angeles"> 
    <uri-template> 
     hdfs://foo:9000/app/logs/${market}/${YEAR}${MONTH}/${DAY}/data 
    </uri-template> 
    <done-flag></done-flag> 
    </dataset> 
The dataset would resolve to the following URIs and Coordinator looks for the existence of the directory itself: 

    [market] will be replaced with user given property. hdfs://foo:9000/usr/app/[market]/2009/02/15/data 
    hdfs://foo:9000/usr/app/[market]/2009/02/16/data 
    hdfs://foo:9000/usr/app/[market]/2009/02/17/data 

Пожалуйста, прочитайте документацию много примеров даны там. Это хорошо.

1. About Coordinators

2. DataSet