2016-12-04 1 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-디렉토리를 사용

답변

0

당신은 HDFS 경로로 테이블을 가져올 수 있습니다 제안 및 위치를 설정하십시오 당신의 그 경로를 가리 키기 위해 하이브 테이블. 나는이 방법을 사용하여 그것을 고쳤다. 희망이 당신을 도울 수 있습니다.

관련 문제