2015-09-29 6 views
1

Im пытается создать координатор oozie, который выполняет рабочий процесс при добавлении какого-либо файла по пути HDFS, но я нашел только примеры, запускающие рабочий процесс с указанным файлом. Могу ли я использовать что-то вроде regex в проделанном-флаге (не работают добавил образец), Любое предложение ??:?oozie координатор триггер, когда какой-либо файл в пути hdfs

<coordinator-app name="coordinator_test" frequency="${frequency}" start="${start}" end="${end}" timezone="${timezone}" xmlns="uri:oozie:coordinator:0.1"> 
    <controls> 
     <concurrency>1</concurrency> 
     <execution>FIFO</execution> 
     <throttle>5</throttle> 
    </controls> 
    <datasets> 
     <dataset name="input1" frequency="2" initial-instance="2015-09-23T00:00Z" timezone="UTC"> 
      <uri-template>${nameNode}/user/oozie/test/created</uri-template> 
      <done-flag>*</done-flag> 
     </dataset> 
    </datasets> 
    <input-events> 
     <data-in name="coordInput1" dataset="input1"> 
      <start-instance>${coord:current(-1)}</start-instance> 
      <end-instance>${coord:current(0)}</end-instance> 
     </data-in> 
    </input-events> 
    <action> 
     <workflow> 
      <app-path>${nameNode}/user/oozie/workflow.xml</app-path> 
     </workflow> 
    </action> 
</coordinator-app> 

ответ

0

UPDATE:

Для различных типов файлов, которые я бы указать различные наборы данных с различными Uri-шаблоном, а также указать различные имена/типы файлов. Они могут указывать на одно и то же место, а имя файла (с wildchars) будет указывать на разные типы источников.

Что-то вроде: $ {HDFS}/студентов *

$ {HDFS}/учителей *

и использовать узел управления решение для обработки данных с правильным скриптом.


Попробуйте с

<done-flag></done-flag> 

, чем это срабатывает, когда путь существует.

done-flag: Проделанный файл для набора данных. Если done-flag не указан , то Oozie настраивает Hadoop для создания файла _SUCCESS в выходном каталоге. Если установленный флаг установлен на пустой, то Координатор ищет существование самой директории.

+0

извините, я думаю, что вы не понимает мой вопрос, я хочу использовать что-то вроде регулярного expresion, чтобы проверить, если вы положили в HDFS любой файл, например: если вы поставите какой-либо файл с расширением .dat: *. dat не работает –

+0

О, я понял. Можете ли вы объяснить рабочий процесс, который вы хотите реализовать в Oozie? – kecso

+0

Я хочу глотать файл, применяя различные правила для проверки типа файла, если я помещаю вызов файла «students.dat», я подхожу к формату учеников таблицы и проверяю файл. Файл в пути является триггером для запуска процесса. –

Смежные вопросы