2017-03-20 4 views
0

Je veux créer un coordinateur d'oozie axé sur les événements. mais le chemin du répertoire change régulièrement. Je ne veux pas coder le répertoire dans le code.pouvons-nous créer une structure de répertoire dynamique dans Oozie coordinator?

<datasets> 
     <dataset name="test_co" frequency="${coord:minutes(120)}" initial-instance="${coordStartDate}" timezone="${timezone}"> 
      <uri-template>**${nameNode}/dynamicName**</uri-template> 
      <done-flag>_OK</done-flag> 
     </dataset> 
    </datasets> 

Comment puis-je exécuter le script shell avant que cette action est déclenchée, il crée le nom du dossier et vérifier si le fichier OK est présent dans ce dossier ou non?

Répondre

0

Oozie prend en charge la création de structures de répertoires dynamiques, c'est-à-dire de répertoires datés utilisant des ensembles de données de coordinateur (si possible, utilisation avec). par exemple.

<datasets> 
    <dataset name="logs" frequency="${coord:hours(1)}" initial-instance="2009-  01-01T01:00Z" timezone="UTC"> 
    <uri-template>hdfs://bar:9000/app/logs/${YEAR}${MONTH}/${DAY}/${HOUR}</uri-template> 
    </dataset> 
</datasets> 

Après l'exécution de code ci-dessus oozie aujourd'hui viz.22-03-2017 16:00 PM La structure du répertoire serait comme: hdfs://bar:9000/app/logs/2017/03/22/16