2016-12-04 13 views
0

oozie sqoopアクションの実行中に問題に直面しています。ログでは、sqoopが一時ディレクトリにデータをインポートした後、sqoopがハイブスクリプトを作成してデータをインポートすることがわかります。oozie sqoopのアクションがインポートに失敗する

データをハイブにインポートするときに失敗します。

以下は私が使用しているsqoopの動作です。以下は

<action name="import" retry-max="2" retry-interval="5"> 
    <sqoop xmlns="uri:oozie:sqoop-action:0.2"> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <configuration> 
     <property> 
      <name>mapred.job.queue.name</name> 
      <value>${jobQueue}</value> 
     </property> 
     </configuration> 
     <arg>import</arg> 
     <arg>-D</arg> 
     <arg>sqoop.mapred.auto.progress.max=300000</arg> 
     <arg>-D</arg> 
     <arg>map.retry.exponentialBackOff=TRUE</arg> 
     <arg>-D</arg> 
     <arg>map.retry.numRetries=3</arg> 
     <arg>--options-file</arg> 
     <arg>${odsparamFileName}</arg> 
     <arg>--table</arg> 
     <arg>${odsTableName}</arg> 
     <arg>--where</arg> 
     <arg>${ods_data_pull_column} BETWEEN TO_DATE(${wf:actionData('getDates')['prevMonthBegin']},'YYYY-MM-DD hh24:mi:ss') AND TO_DATE(${wf:actionData('prevMonthEnd')['endDate']},'YYYY-MM-DD hh24:mi:ss')</arg> 
     <arg>--hive-import</arg> 
     <arg>--hive-overwrite</arg> 
     <arg>--hive-table</arg> 
     <arg>${stgTable}</arg> 
     <arg>--hive-drop-import-delims</arg> 
     <arg>--warehouse-dir</arg> 
     <arg>${sqoopStgDir}</arg> 
     <arg>--delete-target-dir</arg> 
     <arg>--null-string</arg> 
     <arg>\\N</arg> 
     <arg>--null-non-string</arg> 
     <arg>\\N</arg> 
     <arg>--compress</arg> 
     <arg>--compression-codec</arg> 
     <arg>gzip</arg> 
     <arg>--num-mappers</arg> 
     <arg>1</arg> 
     <arg>--verbose</arg> 
     <file>${odsSqoopConnectionParamsFileLocation}</file> 
    </sqoop> 
    <ok to="rev"/> 
    <error to="fail"/> 
    </action> 

私はmapredログ

20078 [main] DEBUG org.apache.sqoop.mapreduce.db.DataDrivenDBInputFormat - Creating input split with lower bound '1=1' and upper bound '1=1' 
Heart beat 
Heart beat 
Heart beat 
Heart beat 
151160 [main] INFO org.apache.sqoop.mapreduce.ImportJobBase - Transferred 0 bytes in 135.345 seconds (0 bytes/sec) 
151164 [main] INFO org.apache.sqoop.mapreduce.ImportJobBase - Retrieved 0 records. 
151164 [main] ERROR org.apache.sqoop.tool.ImportTool - Error during import: Import job failed! 
Intercepting System.exit(1) 

<<< Invocation of Main class completed <<< 

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1] 

Oozie Launcher failed, finishing Hadoop job gracefully 

に取得していますエラーはあなたが--target-DIRを使用してHDFSパスにテーブルをインポートしての場所を設定することができます

答えて

0

を提案してくださいですそのパスを指すハイブテーブル。私はこのアプローチを使って修正しました。それがあなたにも役立つことを願っています。

関連する問題