티스토리 뷰
우지 워크플로우의 기본 스펙과 실행 방법에 대해서 알아보겠습니다.
[워크플로우 기본 스펙]
우지 워크플로우는 우지가 실제로 실행하는 작업의 순서를 담고 있습니다. XML 스키마에 맞춰서 작성하면 됩니다.
https://oozie.apache.org/docs/4.2.0/WorkflowFunctionalSpec.html#Appendix_A_Oozie_XML-Schema
워크플로우 실행에 실패하면 우지 로그 커맨드(oozie job -log)를 이용하여 오류 원인을 확인하고 수정하면 됩니다. 워크플로우가 서브 워크플로우를 실행할 수도 있고, <fork>, <join>을 이용하여 병렬로 실행할 수도 있습니다. <decision>을 이용하여 작업의 분기를 결정할 수도 있습니다. 하지만 작업 내부적으로 루프(반복문)를 처리할 수 없습니다.
다음은 기본적인 워크플로우 작성예시입니다.
<workflow-app xmlns="uri:oozie:workflow:0.5" name="workflow_sample_job">
<parameters>
<property>
<name>runDate</name>
<value>20190101</value>
</property>
</parameters>
<global>
<job-tracker>127.0.0.1:8032</job-tracker> <!-- yarn 주소 -->
<name-node>hdfs://127.0.0.1:8020</name-node> <!-- 네임노드 주소 -->
<job-xml>hadoop-conf.xml</job-xml> <!-- 설정정보를 모아둔 파일 -->
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>queue_name</value>
</property>
</configuration>
</global>
<start to="hive_action" /> <!-- 시작노드 이름 -->
<action name="hive_action"> <!-- action -->
<hive xmlns="uri:oozie:hive-action:0.5">
<configuration>
<property>
<name>hive.tez.container.size</name>
<value>2048</value>
</property>
<property>
<name>hive.tez.java.opts</name>
<value>-Xmx1600m</value>
</property>
</configuration>
<script>sample.hql</script>
<param>runTime=00</param>
</hive>
<ok to="end" />
<error to="kill" />
</action>
<kill name="kill">
<message>Error!!</message>
</kill>
<end name="end" />
</workflow-app>
[워크플로우 실행]
워크플로우를 실행하기 위해서는 먼저 작성한 워크플로우와 실행을 위한 쿼리파일을 HDFS에 업로드 해야 합니다. 그리고 업로드한 위치를 oozie.wf.application.path에 설정하고 run 명령을 실행하면 됩니다.
# 파일 업로드 확인
$ hadoop fs -ls hdfs:///location/
-rw-r--r-- 3 hadoop hadoop 103 2019-04-19 01:53 /location/sample.hql
-rw-r--r-- 3 hadoop hadoop 10799 2019-04-19 01:53 /location/workflow.xml
# 실행
oozie job -run -Doozie.wf.application.path=hdfs:///location/
반응형
'빅데이터 > oozie' 카테고리의 다른 글
[oozie][slf4j] SLF4J: Class path contains multiple SLF4J bindings. 오류 (0) | 2019.10.25 |
---|---|
[oozie] 우지 액션(action) 체크 설정 변경하기 (0) | 2019.04.19 |
[oozie] 코디네이터(coordinator)의 일자 변환 EL 함수 사용법 (0) | 2019.03.19 |
[oozie] 우지의 HDFS EL 함수 알아보기 (0) | 2019.02.13 |
[oozie] 우지 잡의 프로퍼티 업데이트 (0) | 2018.12.14 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- bash
- 하둡
- Tez
- 하이브
- hbase
- nodejs
- 알고리즘
- 다이나믹
- AWS
- 백준
- mysql
- java
- 정올
- emr
- SQL
- 오류
- Python
- airflow
- oozie
- SPARK
- HIVE
- Linux
- S3
- error
- build
- yarn
- Hadoop
- ubuntu
- 파이썬
- HDFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함