DataStage ジョブを構成するコンポーネント
- DataStage フロー
- ランタイム環境
- ジョブ・パラメーター
- パラメーター・セット
ジョブの関係
DataStage フローは、 DataStage ジョブと 1 対多の関係を持つことができます。 1 つの DataStage フローを使用して、複数のジョブを作成できます。
マルチインスタンス・ジョブ
すべての DataStage ジョブは複数回インスタンス化できます。これにより、複数のジョブが実行されたり、同じ未変更のジョブが呼び出されたりすることになります。 ジョブがそのジョブに対する新しいジョブ実行要求の送信を完了するまで待つ必要はありません。 REST API、コマンド・ライン (cpdctl)、またはジョブ・ダッシュボードを使用して、新規ジョブ実行要求を送信できます。 また、実行ごとに異なるパラメーターを設定することにより、同じジョブの複数の呼び出しを使用して異なるデータ・セットを処理することもできます。 各 DataStage ジョブ実行には、ジョブ実行 ID があります。
ジョブを設計する開発者は、複数のジョブ実行が互いに競合しないようにする責任があります。 例えば、並行して実行されている異なる呼び出しは、同じ表に書き込む可能性があります。 1 つのジョブを複数回実行すると、ジョブのパフォーマンスに悪影響を及ぼす可能性もあります。
DSJobInvocationId 値をジョブダッシュボードのジョブラン "Name "として表示するように設定できます。 DSJobInvocationIdは、パラメータまたは環境変数を作成することで定義できます。 DSJobInvocationId は、パイプラインから、または DataStage ジョブを (コマンドラインなどで) 開始するときに設定できます。
パイプラインフローまたはパイプラインジョブを実行するときに、オプションでジョブ実行名を指定し、ジョブ詳細ダッシュボードで異なるジョブ実行を見ることができます。 そうでなければ、Run pipeline job ノードか Run DataStage job ノードのどちらかにローカルパラメータ DSJobInvocationId
を割り当てることもできます (後者は watsonx では使用できません)。 パラメータDSJobInvocationId
とノードのジョブラン名の両方が設定されている場合は、DSJobInvocationId
が使われます。 どちらも設定されていない場合は、デフォルト値の「job run」が使用される。
マルチインスタンス・ジョブを作成するためにDSJobInvocationIdを作成する必要はありません。
移行されたDataStage 並列およびシーケンス・ジョブは、DSJobInvocationId をパラメータとしてインポートします。
個別に呼び出される DataStage ジョブ・インスタンスは、複数のプロセッサーでパーティション化されたジョブを実行するときに生成されるインスタンスとは異なります。 組み込みのパーティショニングおよび収集は、複数のプロセスがパーティション化されたジョブの同じデータ・ソースに対して読み取りまたは書き込みを行う必要がある状況を処理します。
DataStage デザイン・キャンバスからのジョブの作成
DataStage ジョブを DataStage で直接作成するには、DataStage フロー内の DataStage デザインキャンバスからジョブを作成する必要があります。
- DataStage フローを開きます。
- オプション: ツールバーの 「設定」 アイコンをクリックして 「設定」 ページを開き、ジョブの設定を指定します。
- 「コンパイル」 をクリックして、 DataStage フローをコンパイルします。
- 「実行」 をクリックして、 DataStage フローを実行します。
ジョブが作成され、自動的に実行されます。 実行が終了すると、 DataStage フローが含まれているプロジェクトの 「ジョブ」 タブにリストされます。
プロジェクト・レベルからのジョブの作成
プロジェクトの 「資産」 タブからジョブを作成できます。
- プロジェクトの 「資産」 タブのリストから DataStage フローを選択します。 テーブルの行の最後にあるオプションのリスト
のあるメニューアイコンからジョブの作成を選択します。
- 名前と説明 (オプション) を入力して、ジョブの詳細を定義します。
- ジョブに必要な設定を指定します。
- 「スケジュール」 ページで、オプションで一回限りのスケジュールまたは繰り返しスケジュールを追加できます。
繰り返しを選択せずに開始日と時刻を定義すると、ジョブは指定された日時に 1 回だけ実行されます。 開始日時を定義し、 「繰り返し」を選択した場合、ジョブは、「繰り返し」セクションに示されているタイム・スタンプで初めて実行されます。
タイム・ゾーンを変更することはできません。スケジュールはご利用の Web ブラウザーのタイム・ゾーン設定を使用します。 特定の曜日を除外すると、ジョブが想定どおりに実行されない場合があります。 その理由としては、スケジュールを作成するユーザーのタイム・ゾーンと、ジョブが実行される計算ノードのタイム・ゾーンが一致していないことなどがあります。
- オプションで、ジョブの通知を表示するように設定します。 受信するアラートのタイプを選択できます。
- ジョブ設定を確認します。 その後、ジョブを作成してすぐに実行するか、ジョブを作成して後で実行します。
コマンド・ライン cpdctl dsjob ユーティリティーからのジョブの作成
cpdctl dsjob コマンド行ユーティリティー cpdctl dsjob create-job
で既存の DataStage フローを使用して、 DataStage ジョブを作成できます。
cpdctl dsjob create-job --project DataStageProjectName --flow DataStageFlowName \
--description "This is a test job created from command line" \
--schedule-start 2022-11-07 \
--schedule-end 2022-12-08 \
--repeat hourly
ジョブの実行
手動でジョブを実行するには、DataStage デザインキャンバスのツールバーから実行アイコンをクリックします。 スケジュールとデマンドに基づいて、スケジュールされたジョブを開始できます。
特定のジョブのジョブ詳細を表示しているときに、ツールバーの「実行」アイコンをクリックして、ジョブを手動で実行することもできます。 ジョブは、スケジュールすることも、オンデマンドで実行することもできます。 さらに、ジョブは API またはコマンド・ライン・ユーティリティーを使用して実行できます。
ジョブの管理
- 「フィルターの編集」アイコンをクリックして、さまざまな基準 (資産タイプやスケジュールなど) でフィルタリングします。
- ジョブ検索フィールドの横にある「ジョブ」ドロップダウン・メニューをクリックして、アクティブな実行があるジョブ、アクティブな実行があるジョブ、終了した実行があるジョブ、終了した実行があるジョブなどの条件でフィルタリングします。
- 検索フィールドに情報を入力して、特定のジョブを検索します。
ジョブ実行の詳細と実行メトリックの表示
ジョブのリストでジョブ名をクリックして、実行情報と詳細を確認します。 DSJobInvocationIdパラメータを使用して設定された場合、ジョブ詳細ページにはラン名も表示されます。
ジョブの特定の実行を選択し、実行の詳細を確認することができます。 実行の詳細には、所要時間、開始時刻と終了時刻、実行を開始したユーザー、関連するジョブ、実行名、および関連する DataStage フローが含まれます。 設定とランタイム・パラメーター値がリストされます。 実行のジョブ実行ログも表示されます。 ログに表示されるタイム・スタンプは、px-runtime サーバー・インスタンスからのタイム・スタンプです。 ログのブラウズ中にユーザー・ロケールに変換されることはありません。
実行の詳細で 「実行メトリック」 をクリックして、ジョブ実行メトリックを表示します。 フロー全体のメトリックの要約を表示するか、特定のリンクおよびステージを検索します。 状況 (進行中、失敗、または完了) に基づいて実行メトリックをフィルターに掛けることができます。
キャンバス・ツールバーの 「実行メトリック」 ボタンをクリックして、フロー内から実行メトリックにアクセスすることもできます。 メトリック・リスト内のリンクまたはステージをクリックして、キャンバス内のリンクまたはステージにフォーカスを移動します。