[스프링] Apache Oozie 소개

Apache Oozie는 하둡(Hadoop) 생태계에서 워크플로우(Workflow)와 좌표(Coordination)를 정의하고 실행하기 위한 오픈 소스 워크플로우 스케줄러 시스템입니다.

Oozie의 기능

Oozie는 다양한 유형의 작업들을 시간에 따라 조정하고 연결할 수 있는 기능을 제공합니다. 사용자는 잡(Job), Hive 쿼리, Pig 스크립트, MapReduce 작업과 같은 하둡 생태계의 다양한 작업들을 Oozie 워크플로우에 넣어 실행할 수 있습니다.

Oozie 워크플로우

Oozie 워크플로우는 XML로 정의되며 여러 단계와 작업들을 순차적으로 실행하거나 동시에 실행할 수 있습니다. 맵리듀스, Hive, Pig, Sqoop 등의 작업들을 하나의 워크플로우로 구성할 수 있고, 필요한 input/output 데이터 또한 정의할 수 있습니다.

Oozie 좌표

Oozie 좌표는 시간 또는 데이터의 상태(Event)에 따라 작업을 실행하도록 정의하는 기능을 제공합니다. 사용자는 특정 시간 또는 데이터의 상태를 감지하여 작업을 자동으로 실행하거나 조정할 수 있습니다.

Oozie 워크플로우 실행

Oozie는 워크플로우를 실행하기 위해 Oozie Coordinator Engine, Oozie Workflow Engine, 그리고 REST API를 제공합니다. 워크플로우는 command line 명령어나 REST API를 사용하여 실행할 수 있으며, 워크플로우의 실행 상태를 모니터링할 수 있습니다.

Apache Oozie는 많은 하둡 기반 응용 프로그램에서 사용되고 있으며, 많은 프로젝트나 조직에서 워크플로우 관리 시스템으로 활발하게 사용되고 있습니다.