一般的なワークフローの問題

これがあなたの週のように聞こえますか?

これはエッジケースではありません。これは、複数のツールでインパラクエリを実行しているチームの通常の運用条件です。Control-Mがそれぞれをどのように処理するかは以下の通りです。

遅延HDFSデータ

あなたの6:00 AMインパラクエリが開始されました。昨日のHDFSパーティションはまだ到着していません。

Control-Mは、必要なファイルと最小サイズを待つためにHDFSファイルウォッチャーの基準を使用します。クエリは、スケジュール通りに不完全な入力で開始するのではなく、準備が整ったデータに対して実行されます。

SPARK · IMPALA

あなたのSpark変換が遅れて終了しました。インパラのクエリウィンドウはすでに過ぎています。

Control-Mは、Sparkの完了をワークフロー依存関係を通じてインパラの実行に直接リンクします。Sparkが成功裏に終了すると、下流のインパラジョブが実行可能になり、切り離されたスケジュールを排除し、不必要な待機を減らします。

クエリ失敗

インパラSQLが失敗しました。下流の分析ジョブはまだ実行待ちです。

Control-Mは失敗したジョブの状態を検出し、依存するワークフローステップが進行するのを防ぎます。回復アクションと再実行ロジックは、下流の処理が再開される前に適用でき、失敗を封じ込め、不完全な結果を広げることを防ぎます。

HIVE · IMPALA

Hiveがデータを変更しました。あなたのインパラレポーティングクエリが早すぎて実行されました。

Control-Mは、同じ生産ワークフロー内でHiveとインパラのジョブを調整し、クエリ実行の前に完了依存関係を強制します。分析ステップは、その上流処理が完了した後にのみ実行され、緩く調整されたスケジュールを明示的なワークフローの順序に置き換えます。

SLAリスク

長時間実行されるインパラクエリが朝の分析引き渡しを危険にさらしています。

Control-Mは、インパラのジョブを完全なビジネスワークフローの一部として追跡し、依存するステップ全体にわたってSLAモニタリングを適用します。チームは最終的な納品が遅れる前に締切リスクを特定し、遅延の発生源に介入できます。

統合事実

Control-M + インパラ

ワークロードの種類

Impalaオープンクエリ · Impalaクエリファイル · SQLクエリ実行 · Impalaコマンドラインオプション · SELECTクエリ · INSERT操作 · DDLステートメント

トリガーの種類

HDFSファイル到着 · 最小ファイルサイズ · 時間スケジュール · 上流Spark完了 · 上流Hive完了 · 上流ジョブ状態

クロスツール依存関係

HDFSファイルウォッチャー · Sparkジョブ · Hiveジョブ · Sqoopジョブ · HDFSコマンド · 下流分析ジョブ · ファイル配信

クラウドプラットフォーム

Hadoopクラスター · Cloudera環境 · HDFS · Control-M SaaS · Control-M自己ホスト

エラーハンドリング

上流障害ゲーティング · 下流カスケード防止 · ジョブ再実行 · プレコマンド障害処理 · ポストコマンド障害処理 · SLAアラート

スループット

分散SQL分析 · 大規模Hadoopデータセット · 並列Impalaクエリ · バッチ分析パイプライン · 高ボリュームクエリワークロード

可観測性

ジョブ実行状態 · ジョブ出力 · 依存関係の可視性 · 実行履歴 · SLAモニタリング · エンドツーエンドのワークフロー状態

エンドツーエンドオーケストレーション

1つのプロダクションワークフロー。スタック内のすべてのツール。

Control-Mは、Impala、HDFS、Spark、Hive、Sqoop、ファイル転送、およびクラウドサービス間のワークフローを単一のジョブフローで調整し、依存関係の追跡、SLAの可視性、および自動回復を提供します。

  • クロスツール依存関係:HDFSファイル到着 → Spark変換 → Impalaクエリ → 分析の引き渡し
  • データ認識トリガー:HDFSファイル到着、最小ファイルサイズ、Spark完了、Hive完了

インパラ

オープンクエリ実行 · クエリファイル実行 · コマンドラインオプション · 依存関係管理

HDFS 

ファイル監視 · 最小サイズ基準 · ファイル検出 · HDFSコマンド

Spark 

Python実行 · Scala/Javaアプリケーション · アプリケーション引数 · 依存関係の調整

Hive

スクリプト実行 · スクリプトパラメータ · ワークフローディペンデンシー · 実行モニタリング

Sqoop

コマンド実行 · プロパティ · ファイル依存関係 · ワークフローのシーケンシング

マネージドファイル転送 

ファイル配信 · 転送依存関係 · 到着駆動処理 · 下流の引き渡し

クラウドサービス 

クロスプラットフォームの依存関係 · ワークフロー調整 · スケジューリング · SLAの可視性

airflow共存

Control-MはあなたのAirflow DAGを置き換えません。上にあるレイヤーを実行します。

一般的な異議: 「私たちはすでにAirflowを使用しています。」問題はAirflowが何をするかではなく、Airflowが実行される前後に何が起こるかです。そこがパイプラインが実際に失敗する場所です。

AirflowはそのDAGを管理します。Control-Mは周囲のすべてを管理します。

AIRFLOW HANDLES

データパイプライン内でのDAGレベルのオーケストレーション

  • DAGレベルのタスクオーケストレーションをデータパイプライン内で
  • Pythonオペレーター、センサー、およびタスク依存関係
  • パイプライン内で実行されるジョブの実行グラフ
  • 単一DAGコンテキスト内でのリトライを管理

control-mが追加する

DAGの周りのコーディネーションレイヤー

  • DAGの周りのコーディネーションレイヤー - 上流の条件(ファイルの到着、APIイベント、他のツールの完了)に基づいてAirflowをトリガーする
  • 各DAGのSLA寄与を全体のエンドツーエンドのワークフローで追跡し、自身のルーチンだけでなく
  • Airflowが開始する前に上流の依存関係が失敗した場合の障害回復を管理
  • 既存のDAGを再作成したり移行したりする必要はない

パイプラインを監視する

データパイプライン全体でImpalaの実行を監視します。

ImpalaはHadoop環境内でクエリ実行を公開しますが、プロダクション配信は上流の取り込み、変換、および下流の消費者に依存します。Control-Mは、接続されたワークフローステージ全体を通じて操作の可視性を提供し、チームが文脈内で実行を見ることができるようにします:

  • Impalaジョブ実行ステータス

  • ランタイムと実行履歴

  • 上流および下流の依存関係

  • ジョブ出力と失敗

  • エンドツーエンドのワークフローステータス

SLA保証

Impalaの分析配信のコミットメントを軌道に乗せる。

ImpalaはSQLを迅速に実行しますが、クエリパフォーマンスだけではエンドツーエンドの配信期限を保証することはできません。Control-Mは周囲のワークフローを追跡し、依存関係の遅延を公開し、上流の処理が必要な分析配信時間を脅かす場合に回復を調整します:

  • エンドツーエンドのSLAモニタリング

  • 上流の遅延の可視性

  • 失敗に駆動された下流の保留

  • 自動回復ワークフロー

  • ビジネス配信ステータス

複雑なワークフローに秩序をもたらす

Control-Mがチームにより大きな可視性、調整、そして制御を持って複雑なプロセスをオーケストレーションするのにどのように役立つかを学ぶ。