Evolve logo オンデマンド配信 Evolve 2023 Tokyo|AI、データと分析の先進事例を紹介
  • Cloudera Cloudera
  • Apache Oozie

    Enterprise Hadoop のブループリントには、Apache™ Hadoop 独自のデータストレージとデータ処理層が含まれ、データ統合やガバナンス、セキュリティや運用機能といった、企業が最新のデータアーキクチャーに求めるサービスとして必要になるコンポーネントを追加します。Apache Oozieは、特にクラスタにおけるジョブスケジューリングなど、Hadoop クラスタの運用に関するサ―ビスを提供します。

    Oozie の機能

    Apache Oozie は、Apache Hadoop のジョブスケジュールに使用される、Java Web アプリケーションです。Oozie は、複数のジョブを順にひとつの論理的な作業単位として組み合わせます。Oozie は、YARN をアーキテクチャーの中核とする Hadoop スタックと連携し、Apache MapReduce、Apache Pig,、Apache Hive および Apache Sqoop 向けの Hadoop ジョブをサポートします。Oozieではまた、Java プログラムや shell スクリプトなど、システムに固有なジョブのスケジューリングも可能です。

    Hadoop 運用のためのツールである Apache Oozie によって、クラスタのアドミニストレータは、複数のコンポーネントタスクを使って、複雑なデータ変換処理を構築することができます。これにより、ジョブに対する広範なコントロールが可能になるだけでなく、事前に定義した間隔でジョブを容易に繰り返し実行できるようになります。つまりアドミニストレータは、Oozui によって Hadoop からより多くの価値を引き出すことができるようになるのです。

    Oozie のジョブには、2つの基本的なタイプがあります:

    • Oozie Workflow ジョブは、実行するアクションの順番を指定する、有向非巡回グラフ (DAGs: Directed Acyclical Graphs) です。Workflow ジョブは待機する必要があります
    • Oozie Coordinator ジョブは、リカレント (回帰性) の Oozie Workflow ジョブで、時間やデータ提供によってトリガーされます。

    Oozie Bundle によって、複数のコーディネータやワークフロージョブをパッケージし、ジョブのライフサイクルを管理することができます。

    Oozie の動作の仕組み

    Oozie Workflow は、Directed Acyclic Graph (DAG) にあるアクションの集合体です。コントロールノードが、ジョブの実行順や、ワークフローの開始と終了の規則を定義します。このように Oozie は、決定、分岐、結合ノードのワークフロー実行をコントロールします。アクションノードはタスクの実行をトリガーします。

    Oozie は、ワークフローのアクションをトリガーしますが、実際に実行するのは Hdoop MapReduce です。これにより Oozie は、Hadoop スタック内の別の機能を利用してロードバランスを行ったり、障害対応を行うことができます。

    Oozie は、コールバックとポーリングを使って、タスクの完了を検知します。Oozie がタスクを開始すると、タスクに一意のコールバック HTTP URL を提供し、その URL に完了を通知します。タスクが URL のコールバックの呼び出しに失敗した場合、Oozie はタスクをポーリングして、完了させることができます。

    データの可用性やイベントのレベルが予測できない状態では、しばしば、Oozie ワークフローを定期的に稼動させる必要が発生します。このような状況下では、Oozie Coordinator を使って、日付、時間、イベントをベースにワークローの実行をトリガーするモデルを作成することができます。この条件を満足した場合に、ワークフロージョブを開始します。

    Oozie Coordinator はまた、後続のワークフローに応じて、複数のワークフローを管理することができます。後続のワークフローのアウトプットは、次のワークフローのインプットになります。このようなチェーンは、「データアプリケーションパイプライン」と呼ばれます。

    Your form submission has failed.

    This may have been caused by one of the following:

    • Your request timed out
    • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.