Hadoopのワークフロー(JOB管理)はClouderaやHortonにdefaultでついてくるOozieを使うようですが、このOozieが異常に使いにくくcronで済ませてしまう場合もあります。 が、バッチジョブなどで込み入ったフローを作成しようとするとcronでは管理しきれず限界に達してしまいます。障害対応も作りこむ必要があります。 そんなこんなで、いろいろなJOB管理をまとめてみました。
Building a reliable pipeline of data ingress, batch computation, and data egress with Hadoop can be a major challenge. Most folks start out with cron to manage workflows, but soon discover that doesn't scale past a handful of jobs. There are a number of open-source workflow engines with support for Hadoop, including Azkaban (from LinkedIn), Luigi (from Spotify), and Apache Oozie. Having deployed a
Oozieのワークフローはパラメータ化(ワークフロー定義の${inputDir}のような変数を使って)できます。ワークフローのジョブを実行する場合は、パラメータの値を提供する必要があります。適切にパラメータ化(例えば出力ディレクトリを別にする)できれば複数の独立したワークフロージョブを同時に実行できます。 要求に従って実行できるワークフローもありますが、ほとんどのワークフローは一定間隔で定期的に実行されます。また、データの利用可能性や外部イベントに従って実行されることもあります。Oozie Coordinatorを使えばユーザはこれらのパラメータに従ってワークフローの実行を定義できます。また、述語の形式でワークフロー実行トリガをモデル化することができます。この述語はデータや時間、外部イベントを参照できます。この述語が満たされた場合にワークフロージョブが実行されます。 また、定期的かつ不規則
wyukawaさんがデータ分析環境について書いていましたが、全部 CDH を使えば実現可能なので便乗して書いておこうと思います。 1. ETL 処理 CDH なら以下のツールがあります。 Sqoop RDBMS / DWH などに対するインポート・エクスポートツール。最近日本語の本も出版されたので皆さん買ってください。 Hue を使えば Web ブラウザ上から設定できます。デモビデオはこちら。 Pig Hive の影に隠れがちなクエリ言語ですが、特に ETL として使う場合は書きやすいです。中身は MapReduce。Java はもちろん、Python、Javascript、Ruby、そしてGroovyでUDFが書けるのが特徴。HCatalog というツールのおかげで Hive 同様スキーマを扱えるようになりました。 Hue を使えば Web ブラウザ上から実行できます。デモビデオはこちら
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く