[HADOOP] 파일 코디네이터 oozie 설정에 존재하지 않는 경우 오류를 해결하는 방법
HADOOP파일 코디네이터 oozie 설정에 존재하지 않는 경우 오류를 해결하는 방법
어떻게 오류 파일 나던 코디네이터 oozie 설정에 존재하는 솔루션 :
나는 로그 코디네이터에 오류가 있습니다
돼지 로그 파일 덤프 :
오류 : java.io.FileNotFoundException : 파일이 존재하지 않습니다 /user/hdfs/jay/part-0.tmp
코디네이터 설정 :
<coordinator-app name="tes-ng" frequency="${coord:minutes(15)}"
start="2015-12-07T10:30+0700" end="2017-02-28T23:00+0700" timezone="Asia/Jakarta"
xmlns="uri:oozie:coordinator:0.1" xmlns:sla="uri:oozie:sla:0.1">
<controls>
<execution>LAST_ONLY</execution>
</controls>
<datasets>
<dataset name="INPUT_DS" frequency="${coord:minutes(15)}"
initial-instance="2015-02-16T016:00+0700" timezone="Asia/Jakarta">
<uri-template>${nameNode}/user/hdfs/jay/${YEAR}/${MONTH}/${DAY}/${HOUR}${MINUTE}
</uri-template>
<done-flag></done-flag>
</dataset>
<dataset name="OUTPUT_DS" frequency="${coord:minutes(15)}"
initial-instance="2015-02-16T16:00+0700" timezone="Asia/Jakarta">
<uri-template>${nameNode}/user/hdfs/jay/output</uri-template>
<done-flag></done-flag>
</dataset>
</datasets>
<input-events>
<data-in name="INPUT" dataset="INPUT_DS">
<instance>${coord:current(-2)}</instance>
</data-in>
</input-events>
<output-events>
<data-out name="OUTPUT" dataset="OUTPUT_DS">
<instance>${coord:current(-2)}</instance>
</data-out>
</output-events>
<action>
<workflow>
<app-path>${appFolder}</app-path>
<configuration>
<property>
<name>INPUT</name>
<value>${coord:dataIn('INPUT')}</value>
</property>
<property>
<name>OUTPUT</name>
<value>${coord:dataOut('OUTPUT')}</value>
</property>
</configuration>
</workflow>
</action>
내가 원하는 내가 존재하지 않는 오류 파일을받을 때 파일이 모든 준비가 될 때까지, oozie에 저장할 수 있습니다. 어떤 생각 .. ??
감사.
해결법
-
==============================
1.이 작업을 수행하는 ususal 방법은 적절한 데이터 의존성을 가지고있다. 하여 입력 데이터를 생성하는 과정은 데이터가 존재하는 것을 signales 파일 (예컨대 _SUCCESS)를 생성한다. 당신이 당신의 입력 데이터 세트 (예를 들어, _SUCCESS)에 정의하면, Oozie는 주기적으로이 파일의 실존을 확인하고이 가능한 경우에만 워크 플로를 시작.
이 작업을 수행하는 ususal 방법은 적절한 데이터 의존성을 가지고있다. 하여 입력 데이터를 생성하는 과정은 데이터가 존재하는 것을 signales 파일 (예컨대 _SUCCESS)를 생성한다. 당신이 당신의 입력 데이터 세트 (예를 들어, _SUCCESS)에 정의하면, Oozie는 주기적으로이 파일의 실존을 확인하고이 가능한 경우에만 워크 플로를 시작.
<dataset name="INPUT_DS" frequency="${coord:minutes(15)}" initial-instance="2015-02-16T016:00+0700" timezone="Asia/Jakarta"> <uri-template>${nameNode}/user/hdfs/jay/${YEAR}/${MONTH}/${DAY}/${HOUR}${MINUTE} </uri-template> <done-flag>_SUCCESS</done-flag> </dataset>
당신이 그런 플래그를 가질 수 있다면, AFAIK 유일한 옵션은 자신의 입력 데이터 체크를 작성하고 (나는 누군가가 하이브 파티션 그렇게 본 적이) Oozie에 연결하는 것입니다.
당신은 또한 당신이 그 위에상의가 오프셋 한 후 지정된 시간대 = 아시아 / 자카르타를 넣었습니다 보인다 초기 인스턴스 값을 다시 확인해야합니다.
from https://stackoverflow.com/questions/34310152/how-to-solve-the-error-when-file-doesnt-exist-in-setting-coordinator-oozie by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] org.apache.hadoop.mapreduce.lib.input.SequenceFileRecordReader.close에서 java.lang.NullPointerException이 (0) | 2019.10.19 |
---|---|
[HADOOP] 종료 상태의 하이브 배치 모드 목록? (0) | 2019.10.19 |
[HADOOP] 맵리 듀스 하둡에 대한 PDF 입력 형식 (0) | 2019.10.18 |
[HADOOP] HDFS 나는 가용성을 높이기 위해 파일 당 복제 요소를 지정할 수 있습니다 (0) | 2019.10.18 |
[HADOOP] bash는 파일에 매핑 할 수있는 몇 가지 일반적인 HDFS 명령은 무엇입니까? (0) | 2019.10.18 |