2012-05-08 5 views
6

Basit bir iş akışını oozie'ye dönüştürmeye çalışıyorum. Oozie örneklerine bakmaya çalıştım ama biraz aşırı ısırıyorlar. Etkili bir şekilde bir sorguyu çalıştırmak ve sonucu bir metin dosyasına göndermek istiyorum.Kovan sorgusunun basit örneği?

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

Her saat çalışmasını sağlamak için bunu oozie'ye çevirmeyi nasıl öğrendim? İş akışınız şöyle görünebilir

+0

oozie'ye çeviri, her saat için bu kovan ifadelerini çalıştıran bir zamanlayıcı işini yürütmek için bir workflow.xml bulundurmak ister misiniz? – WR10

+0

Evet, tam olarak istediğim şey bu, ama workflow.xml neye benziyor? – nickponline

+0

Bunu yapmak için üç adım gerekebilir. 1. Kovan işi için çalıştırılacak bir workflow.xml dosyası. 2. Oozie iş akışını yürütmek için bir kabuk komut dosyası. 3. Kabuk betiğini her saat için düzenli olarak çalıştırmayı planlayan bir cron işi. – WR10

cevap

6

...

<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> 

Yani burada kovan-site.xml dosyasını $ HIVE_HOME/conf klasör mevcut sitesi xml olduğu workflow.xml


.
script.q dosyası, gerçek kovan sorgusunu içerir. select * from ${INPUT_TABLE}.


OUTPUT parametresini nasıl ve nerede kullanabiliriz?

+0

OUTPUT, için bir bağımsız değişken olarak iletildi. , ör. '$ {ÇIKIŞ}' – WR10