oozie sqoop 작업을 실행하는 동안 문제가 발생했습니다. 로그에서 sqoop은 데이터를 임시 디렉토리로 가져올 수 있고 sqoop은 하이브 스크립트를 생성하여 데이터를 가져 오는 것을 볼 수 있습니다.oozie Sqoop 작업이 하이브로 데이터를 가져 오지 못함
하이브로 임시 데이터를 가져 오는 동안 오류가 발생합니다.
로그에 아무런 예외가 없습니다.
아래는 내가 사용하고있는 sqoop 동작입니다.
<workflow-app name="testSqoopLoadWorkflow" xmlns="uri:oozie:workflow:0.4">
<credentials>
<credential name='hive_credentials' type='hcat'>
<property>
<name>hcat.metastore.uri</name>
<value>${HIVE_THRIFT_URL}</value>
</property>
<property>
<name>hcat.metastore.principal</name>
<value>${KERBEROS_PRINCIPAL}</value>
</property>
</credential>
</credentials>
<start to="loadSqoopDataAction"/>
<action name="loadSqoopDataAction" cred="hive_credentials">
<sqoop xmlns="uri:oozie:sqoop-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>/tmp/hive-oozie-site.xml</job-xml>
<configuration>
<property>
<name>oozie.hive.defaults</name>
<value>/tmp/hive-oozie-site.xml</value>
</property>
</configuration>
<command>job --meta-connect ${SQOOP_METASTORE_URL} --exec TEST_SQOOP_LOAD_JOB</command>
</sqoop>
<ok to="end"/>
<error to="kill"/>
</action>
다음은 데이터를 가져 오기 위해 사용하는 작업입니다.
sqoop job --meta-connect ${SQOOP_METASTORE_URL} --create TEST_SQOOP_LOAD_JOB -- import --connect '${JDBC_URL}' --table testTable -m 1 --append --check-column pkId --incremental append --hive-import --hive-table testHiveTable;
다음의 예외가 발생합니다.
72285 [main] INFO org.apache.sqoop.hive.HiveImport - Loading uploaded data into Hive
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
Oozie Launcher ends
좋습니다.
/user/hive/warehouse에 쓰기 권한이 없습니다. – selle
주어진 이름은 무엇입니까? 네 이름을 확인할 수 있니? hdfs : // <> –
이 hdfs에 데이터를로드하는 위치에 하이브 테이블을 가리키고 있다고 언급했는지 확인하십시오. – user3837299