Book Image

Apache Oozie Essentials

By : Jagat Singh
Book Image

Apache Oozie Essentials

By: Jagat Singh

Overview of this book

As more and more organizations are discovering the use of big data analytics, interest in platforms that provide storage, computation, and analytic capabilities is booming exponentially. This calls for data management. Hadoop caters to this need. Oozie fulfils this necessity for a scheduler for a Hadoop job by acting as a cron to better analyze data. Apache Oozie Essentials starts off with the basics right from installing and configuring Oozie from source code on your Hadoop cluster to managing your complex clusters. You will learn how to create data ingestion and machine learning workflows. This book is sprinkled with the examples and exercises to help you take your big data learning to the next level. You will discover how to write workflows to run your MapReduce, Pig ,Hive, and Sqoop scripts and schedule them to run at a specific time or for a specific business requirement using a coordinator. This book has engaging real-life exercises and examples to get you in the thick of things. Lastly, you’ll get a grip of how to embed Spark jobs, which can be used to run your machine learning models on Hadoop. By the end of the book, you will have a good knowledge of Apache Oozie. You will be capable of using Oozie to handle large Hadoop workflows and even improve the availability of your Hadoop environment.
Table of Contents (16 chapters)
Apache Oozie Essentials
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

My first Coordinator


In this section, we will write the scheduled job for running out the MapReduce Workflow. Let's start with a simple Coordinator declaration. The code for the following example is present in the folder BOOK_CODE_HOME/learn_oozie/ch04/mapreduce_coordinat or/v1.

Coordinator v1 definition

The Coordinator definition present in the coordinator.xml is as follows:

<coordinator-app name="My_First_Coordinator" frequency="${frequency}" start="${start_date}" end="${end_date}" timezone="Australia/Sydney" xmlns="uri:oozie:coordinator:0.4">
  <action>
    <workflow>
      <app-path>${wf_application_path}</app-path>
   </workflow>
  </action>
</coordinator-app>

The Coordinator definition is simple. It says, "Run the Workflow wf_application_path with the given arguments start_date, end_date, and fre quency."

job.properties v1 definition

Look at the values for variables declared in workflow.xml. We will define them in the job.properties file:

#...