7

夜間/毎時データの要約と大量のデータの統計収集を実行する一連の Python ETL スクリプトを置き換えることを検討しています。

私が達成したいことは

  • 堅牢性 - 失敗したジョブ/ステップは自動的に再開する必要があります。場合によっては、代わりに回復手順を実行したいことがあります。
  • フレームワークは、クラッシュから回復できる必要があります。ここは粘り強さが必要だと思います。
  • 監視 - ジョブ/ステップの進行状況を監視できる必要があり、できればパフォーマンスに関する履歴と統計を確認できる必要があります。
  • トレーサビリティ - 実行の状態を理解できなければなりません
  • 手作業による介入 - あると便利です... API / UI / コマンドラインからジョブを開始 / 停止 / 一時停止できます。
  • シンプルさ - 代替品を導入するときに、同僚から怒ったような目で見られたくない... シンプルで理解しやすい API が必要です。

現在のスクリプトは次のことを行います。

  • 多くのマシンからテキスト ログを収集し、Hadoop DFS にプッシュします。将来、このステップで Flume を使用する可能性があります ( http://www.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-flume/を参照)。
  • データに対してHiveサマリー クエリを実行し、新しい Hive テーブル / パーティションに挿入 (上書き) します。
  • 新しい集計データをファイルに抽出し、MySql テーブルにロード (マージ) します。これは、後でオンライン レポートに必要なデータです。
  • 新しく追加された MySql データ (MySql テーブルから) に対して追加の結合を実行し、データを更新します。

私の考えは、スクリプトをスプリングバッチに置き換えることです。Scriptellaも調べましたが、この場合は「単純すぎる」と思います。

Spring-Batch (主に古い投稿) でいくつかの悪い雰囲気を見たので、ここでいくつかの情報を得たいと思っています。また、Spring-Batch と Hive の統合についてもあまり見たことがなく、面倒です。

4

3 に答える 3

3

Hadoopエコシステム内にとどまりたい場合は、ワークフローを自動化するためにOozieをチェックすることを強くお勧めします。私たち(Cloudera)は、開始に使用できるOozieのパッケージバージョンを提供しています。詳細については、最近のブログ投稿を参照してください。

于 2010-10-04T11:26:27.527 に答える
1

JasperETLまたはTalendを使用してみませんか?その仕事に適したツールのようです。

于 2010-09-27T16:17:30.300 に答える
1

私は Cascading をかなり使用してきましたが、非常に印象的であることがわかりました。

カスケード

M/R 抽象化レイヤーであり、Hadoop 上で動作します。

于 2012-04-21T21:01:48.980 に答える