티스토리 뷰
우지를 이용하여 하둡, 하이브 액션을 처리할때
HDFS나 S3에 작업이 처리 되었음을 알리기 위하여 0byte의 파일을 생성해야 할 때가 있다.
이럴때 hadoop의 touchz 명령을 이용하면 0byte의 파일을 생성할 수 있다.
* 이는 리눅스의 touch 명령과 동일하다.
우지 워크플로우의 fs 액션은 이작업을 기본적으로 제공하기 때문에
따로 쉘커맨드나 파이썬 액션을 만들지 않아도 처리가 가능하다.
fs 액션은 다음의 기본 명령을 제공한다.
- move , delete , mkdir , chmod , touchz, chgrp
[fs 액션 문법]
<workflow-app name="[WF-DEF-NAME]" xmlns="uri:oozie:workflow:0.5">
...
<action name="[NODE-NAME]">
<fs>
<delete path='[PATH]'/>
...
<mkdir path='[PATH]'/>
...
<move source='[SOURCE-PATH]' target='[TARGET-PATH]'/>
...
<chmod path='[PATH]' permissions='[PERMISSIONS]' dir-files='false' />
...
<touchz path='[PATH]' />
...
<chgrp path='[PATH]' group='[GROUP]' dir-files='false' />
</fs>
<ok to="[NODE-NAME]"/>
<error to="[NODE-NAME]"/>
</action>
...
</workflow-app>
[예제1]
<workflow-app name="sample-wf" xmlns="uri:oozie:workflow:0.5">
...
<action name="hdfscommands">
<fs>
<delete path='hdfs://foo:8020/usr/tucu/temp-data'/>
<mkdir path='archives/${wf:id()}'/>
<move source='${jobInput}' target='archives/${wf:id()}/processed-input'/>
<chmod path='${jobOutput}' permissions='-rwxrw-rw-' dir-files='true'><recursive/></chmod>
<chgrp path='${jobOutput}' group='testgroup' dir-files='true'><recursive/></chgrp>
</fs>
<ok to="myotherjob"/>
<error to="errorcleanup"/>
</action>
...
</workflow-app>
[예제2]
<workflow-app xmlns="uri:oozie:workflow:0.5" name="sample">
<start to="fs_touchz" />
<action name="fs_touchz" retry-max="2" retry-interval="5">
<fs>
<touchz path='s3://usr-bucket/${runDate}/${runTime}.end' />
</fs>
<ok to="end" />
<error to="fail" />
</action>
<kill name="fail">
<message>Map/Reduce failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end" />
</workflow-app>
'빅데이터 > oozie' 카테고리의 다른 글
[oozie] 우지의 hive 액션 예제 (0) | 2017.04.06 |
---|---|
[oozie] 우지에서 하이브 액션 처리중 java.lang.ClassNotFoundException: Class org.apache.oozie.action.hadoop.HiveMain not found 오류 처리 (0) | 2017.04.06 |
[oozie] 우지의 RUNNING 중인 코디네이터 정보 수정 (0) | 2017.01.11 |
[oozie] python을 이용하여 우지 WebService API 호출하기 (0) | 2016.10.10 |
[oozie] 우지에서 쉴에서 실행한 값을 다음 액션의 파라미터로 전달하기 (0) | 2016.07.26 |
- Total
- Today
- Yesterday
- nodejs
- ubuntu
- Tez
- 정올
- 오류
- 파이썬
- airflow
- HIVE
- S3
- emr
- hbase
- 하이브
- 다이나믹
- 알고리즘
- AWS
- java
- build
- Hadoop
- 백준
- bash
- SPARK
- Python
- Linux
- mysql
- SQL
- HDFS
- yarn
- error
- 하둡
- oozie
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |