2012-05-08 2 views
6

Sto provando a convertire un flusso di lavoro semplice in oozie. Ho provato a guardare attraverso gli esempi di oozie ma sono un po 'esagerati. Effettivamente voglio eseguire una query e produrre il risultato in un file di testo.Semplice esempio di query hive?

hive -e 'select * from tables' > output.txt 

Come ho avuto a tradurlo in Oozie per farlo funzionare ogni ora?

+0

conversione in mezzo Oozie, si desidera avere un flusso di lavoro.xml per eseguire un processo di pianificazione che esegue queste istruzioni dell'alveare per ogni ora? – WR10

+0

Sì, questo è esattamente ciò che voglio ottenere, ma com'è il workflow.xml? – nickponline

+0

Potresti aver bisogno di tre passaggi per farlo. 1. Un file workflow.xml da eseguire per il lavoro hive. 2. Uno script di shell per eseguire il flusso di lavoro di oozie. 3. Un cron job da programmare per eseguire periodicamente lo script della shell per ogni ora. – WR10

risposta

6

Il flusso di lavoro potrebbe essere qualcosa di simile ...
workflow.xml

<workflow-app xmlns="uri:oozie:workflow:0.2" name="hive-wf"> 
    <start to="hive-node"/> 
    <action name="hive-node"> 
     <hive xmlns="uri:oozie:hive-action:0.2"> 
      <job-tracker>localhost:50001</job-tracker> 
      <name-node>hdfs://localhost:50000</name-node> 
      <configuration> 
       <property> 
        <name>mapred.job.queue.name</name> 
        <value>default</value> 
       </property> 
       <property> 
        <name>oozie.hive.defaults</name> 
        <value>/user/user1/oozie/hive-site.xml</value> 
       </property> 
      </configuration> 
      <script>script.q</script> 
      <param>INPUT_TABLE=SampleTable</param> 
      <param>OUTPUT=/user/user1/output-data/hive</param> 
     </hive> 
     <ok to="end"/> 
     <error to="fail"/> 
    </action> 
    <kill name="fail"> 
     <message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> 
    </kill> 
    <end name="end"/> 
</workflow-app> 

Così qui alveare-site.xml è il xml sito presente in $ HIVE_HOME/conf cartella.
Il file script.q contiene la query hive effettiva. select * from ${INPUT_TABLE}.


come e dove è possibile utilizzare il parametro OUTPUT?

+0

OUTPUT viene passato come argomento a . ad es. '$ {} USCITA' – WR10