2017-03-07 29 views
2

在使用Hive查詢運行Oozie工作流時出現錯誤。 這裏是工作流Oozie - 失敗:SemanticException [錯誤10072]:數據庫不存在:testnamespace

<workflow-app xmlns='uri:oozie:workflow:0.5' name='reporting_W_errorAuditHiveQueryExe'> 
<start to="hive_report_fork"/> 
<fork name="hive_report_fork"> 
    <path start="hiveGSRLfile"/> 
    <path start="hiveNGSRLfile"/> 
    <path start="hiveNGsrlRAfile"/> 
</fork> 
<action name="hiveGSRLfile"> 
    <hive xmlns='uri:oozie:hive-action:0.2'> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <script>${dir}/gsrlQery.hql</script> 
     <param>OutputDir=${jobOutput}</param> 
    </hive> 
    <ok to="joining"/> 
    <error to="joining"/> 
</action> 
<action name="hiveNGSRLfile"> 
    <hive xmlns='uri:oozie:hive-action:0.2'> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <script>${dir}/nongsrlQuery.hql</script> 
     <param>OutputDir=${jobOutput}</param> 
    </hive> 
    <ok to="joining"/> 
    <error to="joining"/> 
</action> 
<action name="hiveNGsrlRAfile"> 
    <hive xmlns='uri:oozie:hive-action:0.2'> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <script>${dir}/nongsrlRAQuery.hql</script> 
     <param>OutputDir=${jobOutput}</param> 
    </hive> 
    <ok to="joining"/> 
    <error to="joining"/> 
</action> 
<join name= "joining" to="Success"/> 
<action name="Success"> 
    <email xmlns="uri:oozie:email-action:0.1"> 
     <to>${failureEmailToAddress}</to> 
     <subject>Success</subject> 
     <body> 
      The workflow ${wf:name()} with id ${wf:id()} failed 
      [${wf:errorMessage(wf:lastErrorNode())}]. 
     </body> 
    </email> 
    <ok to="end" /> 
    <error to="fail" /> 
</action> 
<action name="failure"> 
    <email xmlns="uri:oozie:email-action:0.1"> 
     <to>${failureEmailToAddress}</to> 
     <subject>Failure</subject> 
     <body> 
      The workflow ${wf:name()} with id ${wf:id()} failed 
      [${wf:errorMessage(wf:lastErrorNode())}]. 
     </body> 
    </email> 
    <ok to="end" /> 
    <error to="fail" /> 
</action> 
<kill name="fail"> 
    <message>Workflow failed</message> 
</kill> 
<end name="end"/> 

這裏是Oozie的屬性文件

oozie.wf.application.path=${deploymentPath}/workflows/errorAuditHiveQueryExe.xml 
deploymentPath=/user/amin/deploy_178 
jobTracker=localhost:8032 
nameNode=hdfs://nameservice1 
dir=${deploymentPath}/data-warehouse/temp 
[email protected] 
jobOutput=${dir} 
oozie.use.system.libpath=true 

這裏是我的錯誤:與

FAILED: SemanticException [Error 10072]: Database does not exist: testnamespace 
Intercepting System.exit(10072) 
Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [10072] 

然而,命名空間中我可以查詢它裏面的表。

這裏有什麼問題?請幫忙。 我使用CDH 5.5.2 Running Hive 1.0

+0

你檢查出這個問題? http://stackoverflow.com/questions/29670830/hive-hiveimport-failed-semanticexception-error-10072-database-does-not-exis –

+0

是的,我已經做了,但是這與我的問題無關。 –

回答

3

經過在互聯網上的不懈研究,我能夠解決問題的解決方案。 我已經添加了一個配置爲Hive作業使用Metastore服務器,它工作。

以下是我對Hive操作所做的工作。

.... 
<hive xmlns='uri:oozie:hive-action:0.2'> 
      <job-tracker>${jobTracker}</job-tracker> 
      <name-node>${nameNode}</name-node> 
      <configuration> 
       <property> 
        <name>hive.metastore.uris</name> 
        <value>thrift://10.155.1.63:9083</value> 
       </property> 
      </configuration> 
      <script>${dir}/gsrlQery.hql</script> 
      <param>OutputDir=${jobOutput}</param> 
     </hive> 
.... 

注意:如果您試圖修復類似問題,請相應地替換配置單元metatore ip。要獲取Metastore詳細信息,請檢查位於/ etc/hive/conf目錄中的hive-site.xml文件。

信用:MapR

相關問題