Oozie 實戰之 Hive


1.編輯job.propertiers

nameNode=hdfs://cen-ubuntu.cenzhongman.com:8020
jobTracker=localhost:8032
queueName=default
oozieAppsRoot=oozie-apps

oozie.use.system.libpath=true

oozie.wf.application.path=${nameNode}/user/cen/${oozieAppsRoot}/hive-select/
outputDir=hive-select/output

2.添加lib文件夾

3.復制MySQL的API到lib下

4.復制hive-site.xml文件到目錄下

5.編輯workflow

  <action name="hive-node">
      <hive xmlns="uri:oozie:hive-action:0.5">
          <job-tracker>${jobTracker}</job-tracker>
          <name-node>${nameNode}</name-node>
          <prepare>
              <delete path="${nameNode}/user/cen/${oozieAppsRoot}/${outputDir}"/>
          </prepare>
          <job-xml>${nameNode}/user/cen/${oozieAppsRoot}/hive-select/hive-site</job-xml>
          <configuration>
              <property>
                  <name>mapred.job.queue.name</name>
                  <value>${queueName}</value>
              </property>
          </configuration>
          <script>select.sql</script>
          <param>OUTPUT=/user/cen/${oozieAppsRoot}/${outputDir}</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"/>

注意事項(對比example文件)

  • 更新版本兩個
  • 無需使用新api
  • 添加 ${nameNode}/user/cen/${oozieAppsRoot}/hive-select/hive-site 用以說明配置文件位置
  • 添加指明SQL文件
  • 添加OUTPUT=/user/cen/${oozieAppsRoot}/${outputDir}說明輸出目錄[可選]

6.上傳文件

7.執行文件

export OOZIE_URL=http://cen-ubuntu:11000/oozie/
bin/oozie job -config oozie-apps/hive-select/job.properties -run


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM