2012-12-19 14 views
9

Dal Oozie CLI voglio fare qualcosa di simile:Posso inviare un lavoro oozie con più file di configurazione?

oozie job -oozie http://host:port/oozie -config jobConfig.properties, baseConfig.properties -submit 

Ho un sacco di diversi posti di lavoro che sto correndo in cui una parte del file .properties è identico. Mi piacerebbe essere in grado di spostare quella porzione duplicata in un singolo file baseConfig.properties e combinarla con la parte specifica del lavoro quando invio il lavoro.

risposta

8

Se il numero di proprietà override è di piccole dimensioni, si può semplicemente fare riferimento al file di configurazione di base, e quindi utilizzare la notazione -Dprop1=value per ogni proprietà che si desidera personalizzare.

altrimenti penso di avere due (forse tre) alternative (come non si può passare più opzioni di configurazione al client OOZIE corrente):

  1. creare uno script che concatena i file delle proprietà specifiche di base e di posti di lavoro insieme, e l'oozie corsa con il nome del file unito
  2. Utilizzando la fonte da OozieCLI come punto di partenza, scrivere una classe di estensione in grado di gestire un valore CSV per l'opzione -config, o in grado di gestire più -config istanze di argomenti
  3. Sei in grado di spostare gli attributi comuni in file jobXml statici per ogni azione, quindi sarà necessario un solo file di configurazione per le effettive differenze tra le esecuzioni del lavoro.
+0

Grazie, Chris. Sospettavo che avrei dovuto fare in modo che il mio script di build concatenasse i due file, ma mi hai dato un sacco di altre buone opzioni. –

+0

@TimGoodman cosa hai finito? Ho un caso d'uso simile. –