Bunun için bir Oozie shell action
kullanabilirsiniz.
Senin durumunda
<action name="SqoopAction">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>[JOB-TRACKER]</job-tracker>
<name-node>[NAME-NODE]</name-node>
<prepare>
<delete path="[PATH]"/>
...
<mkdir path="[PATH]"/>
...
</prepare>
<job-xml>[SHELL SETTINGS FILE]</job-xml>
<configuration>
<property>
<name>[PROPERTY-NAME]</name>
<value>[PROPERTY-VALUE]</value>
</property>
...
</configuration>
<exec>[SHELL-COMMAND]</exec>
<argument>[ARG-VALUE]</argument>
...
<argument>[ARG-VALUE]</argument>
<env-var>[VAR1=VALUE1]</env-var>
...
<env-var>[VARN=VALUEN]</env-var>
<file>[FILE-PATH]</file>
...
<archive>[FILE-PATH]</archive>
...
<capture-output/>
</shell>
, sen [SHELL-COMMAND]
yerini alacak: Temel olarak &
Numune Oozie eylem komutları eylemin içinde yürütülecek olarak senin soru yayınlanmıştır komutları sağlayan bir kabuk işlemi oluşturmanız gerekir Ayrıca
<exec>sqoop export --connect jdbc:mysql://localhost/hduser --table foo1 -m 1 --export-dir /user/cloudera/bar1</exec>
, bir kabuk tüm sqoop komutları koymak ve bunun yerine o senaryoyu yürütebilir: ne olursa olsun Sqoop komut ile aşağıdakiler gibi, çalıştırmak istiyorum. Uygulanacak çok fazla komutunuz varsa bu daha iyidir.
Merhaba, onları çok fazla etkilemekten çekinmeyin. Workflow.xml dosyasını nasıl çalıştırırım? Workflow.xml dosyasını nereye koyayım? "$ {JobTracker}" için parametreleri nerede tanımlarım? Ben Oozie'ye yeniyim ve yardımın takdir edilecek. – Rio
jobTracker ve nameNode burada parametarize edildi, bunun anlamı job.properties dosyasında tanımlanması gerekir. Örneklerden geçmediğin gibi görünüyor. Apache oozie web sitesini kontrol et. İyi örnekler verdiler. Bağlantı burada. [https://oozie.apache.org/docs/3.3.2/DG_Examples.html](https://oozie.apache.org/docs/3.3.2/DG_Examples.html) – DMA
Ok teşekkürler. Benim Hadoop versiyonum: Hadoop 2.0.0-cdh4.3.1. Hadoop'un bu sürümü için oozie'de sqoop eylemini kullanabilir miyim? – Rio