Informatica のデバッガ: セッション、ブレークポイント、詳細データおよびマッピング
前のトピックで説明したように、マッピングは、一連の変換によってリンクされたソース オブジェクトとターゲット オブジェクトのコレクションです。 これらの変換は、データ フローとデータがターゲットにロードされる方法を定義する一連のルールで構成されます。
デバッガとは何ですか?
デバッガは、Informatica の非常に便利なユーティリティです。 マッピングを実行すると、Informatica は定義された変換ロジックに基づいてマッピングを実行します。
その実行は、中間結果や、変換から変換へとデータがどのように変更されるかを確認できないバッチ モードの実行に似ています。
多くの場合、ターゲット内で期待どおりではないデータが得られます。 デバッガの助けを借りて、 マッピング内でデータがどのように移動しているかを分析できます。 デバッガーでデータを行ごとに分析できます。
デバッガを使用するにはセッション インスタンスが必要です。以前に作成した既存のセッションを再利用してマッピングを実行することも、新しいデバッグ セッション インスタンスを作成することもできます。 デバッグ中にデータがソースからフェッチされるため、そのデータをどうするかを選択できます。
- データを破棄するか、
- データをターゲットにロードできます
これらのオプションは、デバッガーの構成時に設定できます。
デバッガを監視するために、Informatica Designerには2つのウィンドウがあります。
- Target ウィンドウを使用して入力ファイルを追加します。
- インスタンスウィンドウ
ターゲットウィンドウには、ターゲットテーブルに挿入されるターゲットレコードが表示されます。 インスタンス ウィンドウでは、マッピングの変換インスタンスのいずれかを選択できます。 その後、その変換のすべてのポートがこのウィンドウに表示され、データがどのように変換されるかを分析できます。
マッピングでデバッガを使用する手順
Informatica Designer は、デバッガを使用してマッピングをデバッグする機能を提供します。 これは、既存のマッピングをデバッグおよび分析できることを意味します。 デバッガの要件は、マッピングが有効なマッピングであることです。
この演習では、以前に作成した既存のマッピング「m_emp_emp_target」をデバッグします。 ソース データで、employee_name ='SCOTT' という特定のレコードを確認します。 Scott の場合は、Informatica で値がフェッチされ、レコードがターゲットに正しくプッシュされたかどうかを確認します。
「emp」テーブルのソース データは次のようになります。
エネーム「SCOTT」の場合、デバッガを使用して、「sal」(給与)列の値が Informatica でフェッチされることを確認します。
ステップ1) Informatica デザイナーを開き、デザイナーでマッピング「m_emp_emp_target」をダブルクリックして開きます。これにより、マッピング デザイナー内でマッピングを示すソース修飾子とターゲット定義テーブルが開きます。
ステップ2) デバッガを起動します
- セットアップボタンをクリックすると、セットアップが開始されます マッピング メニューオプション
- オプションから「デバッガー」を選択します
- 「デバッガーの開始」オプションを選択します
ステップ3) デバッグマッピングウィンドウで「次へ」を選択します
ステップ4) 次のウィンドウでは、セッションの種類を選択するオプションが表示されます。 既存のセッション、既存の再利用可能なセッションを使用することも、デバッグ セッション インスタンスを作成することもできます。
既存のセッションを使用する場合、Informatica はこのマッピング用に作成した以前のセッションを使用します。 デバッグ セッション インスタンスの作成を選択すると、デバッグ用に新しいセッション インスタンスが作成されます。
この例では、既存の再利用可能なセッション インスタンスを選択します。 統合サービスがデフォルトになります。
- 「既存のセッションインスタンスを使用する」オプションを選択します
- 次へをクリック
ステップ5) 新しいウィンドウで、Informatica はデバッグ用の既存のセッションを選択するように求めます。
セッション「s_m_emp_emp_target」を選択し、「次へ」ボタンをクリックします。
ステップ6) 次のウィンドウには「ターゲット データを破棄する」オプションがあります。デバッグ中にターゲット テーブルにデータをロードしたくないため、このオプションを選択します。
- 「ターゲットデータを破棄する」オプションを選択します。
- ターゲットテーブル「emp_target」を選択します
- 完了ボタンをクリックします。
上記の手順で、デバッガーを構成して開始しました。 これでマッピングをデバッグできるようになりました。
ステップ7) デバッガーは開始されましたが、ソースから行をフェッチしていません。 デバッグ中は、ソースから行ごとにデータをフェッチします。 ソースから最初の行のフェッチを開始するには
- メニューからマッピングオプションを選択します
- デバッガーオプションを選択してください
- 次のインスタンスのオプションを選択します
ステップ8) インスタンス ウィンドウに、ソース修飾子から最初にフェッチされたレコードが表示されます。
インスタンス ウィンドウを分析すると、最初のレコード (ename “SMITH” 行) が表示されます。これは探しているレコードではありません。次のインスタンスに移動できます。
ステップ9) 次のインスタンスに移動する (次の行に移動する)
- F10 ボタンを押します (マッピング オプションからデバッガ オプションに移動する代わりに、次のインスタンスに移動するためのショートカット)
次のインスタンスに移動すると、インスタンス ウィンドウ内のデータが次のレコードに変わります。
ステップ10) 「SCOTT」従業員の必要なレコードに到達するまで、F10 ボタンを押し続けます。 その時点に到達すると、インスタンス ウィンドウは次のようになります。
これが私たちが探していたインスタンスです。 したがって、インスタンス ウィンドウでデータを分析できます。 正しく来ているか、値が欠落しているか。
ソース データでは、従業員「SCOTT」の詳細は、job = 「ANALYST」、manager id = 「7566」、sal 「3000」のようでした。
また、デバッガーでは、従業員「SCOTT」についてこれらすべての詳細を分析し、それらがソース データと一致しているため、レコードがソース修飾子によって正しく取得されたことが保証されます。
デバッガーでブレークポイントを使用する
前の例のように、データの特定の行を検索する場合、ソース データのすべてのインスタンスに移動する代わりに、ブレークポイントを定義できます。
ブレークポイントは、デバッグの構成中に定義される条件または条件のセットであり、その条件が true になるとデバッガーがその特定のインスタンスで停止します。
たとえば、ブレークポイントで deptno=20 を定義すると、レコードに対してこの条件が true の場合、デバッガはデータのそのインスタンスで停止します。
ステップ1) ブレークポイントを設定するには
- マッピングメニューに移動
- デバッガーオプションを選択してください
- 「ブレークポイントの編集」オプションを選択します
ステップ2) 以下に示すように、「ブレークポイントの編集」ウィンドウが表示されます。
ステップ3) ブレークポイント ウィンドウで、追加ボタンをクリックします。
ステップ4) 新しいウィンドウで
- SQ_EMP をインスタンスとして選択します
- 「OK」ボタンを選択
ステップ5) 前のウィンドウは次のようになります。
ステップ6) ブレークポイントができたので、次にブレークポイント条件を定義する必要があります。ブレークポイント条件を定義するには
- 「新しい条件を追加」アイコンをクリックします
条件タブの下に新しい行が表示されます。 ここで条件を設定できます。
ステップ7) コンディション表では
- ポートのドロップダウンで、「ENAME」オプションを選択します(レコード ename='SCOTT' をデバッグしているため)
- 値ボックスに「SCOTT」と入力します。
- 「OK」ボタンを選択
ステップ8) 前のトピックで説明したようにデバッガーを起動します。
マッピングメニューに移動 -> デバッガーオプションを選択 -> デバッガーの開始を選択します -> セッションインスタンスの選択
ステップ9) デバッガが起動したら
- マッピングメニューの選択
- デバッガーオプションを選択してください
- 続行オプションを選択してください
デバッガは行自体の各インスタンスに移動し、条件「ename=SCOTT」をチェックします。 この条件が true のレコードの場合、デバッガーはそのインスタンスで停止します。 そのため、データ量が多い場合は、ソース レコードの各インスタンスに移動する代わりにブレークポイントを設定し、そのレコードに直接ジャンプできます。
Informatica がすべてのインスタンスの処理を完了すると、デバッガは自動的に停止します。 データを再度分析したい場合は、デバッガを再起動する必要があります。
Informatica でのトレース
マッピングのセッションを実行するたびに、セッションログが生成されます。これには、次のような実行の詳細が含まれます。
- イベントのタイミング
- エラーの詳細
- 個人の変換統計など
マッピングの変換内で、Informatica がセッション ログ内に書き込む詳細の量を設定できます。
変換内のトレースには XNUMX つのレベルを設定できます。
さまざまなログモード | さまざまなログモードでのアクティビティ |
---|---|
ノーマル | 通常モードでは、Informatica は変換の初期化とステータス情報、発生したエラーについて書き込み、セッションの結果を要約します。 |
簡潔 | 簡潔モードでは、Informatica は初期化情報とエラーの詳細のみを書き込みます。簡潔モードでは、最小限の詳細がセッション ログに書き込まれます。 |
詳細な初期化 | 詳細初期化モードでは、Informatica は通常モードと同様のログ詳細を書き込み、さらに、使用されたデータおよびインデックス ファイルと変換統計についても書き込みます。 |
冗長データ | 詳細データでは、Informatica は詳細初期化と同様のログを書き込みますが、さらに、変換を通過するすべてのデータも書き込みます。 |
注意: デフォルトではトレース レベルは通常に設定されています。マッピングをデバッグする場合にのみ、詳細データ モードを使用することをお勧めします。簡潔モードを使用すると、最小限の詳細が書き込まれるため、パフォーマンスが向上します。そのため、ログの書き込みのオーバーヘッドは最小限になります。
変換でトレース レベルを設定する方法
ステップ1) トレースレベルを設定するマッピングをInformatica Designerで開きます。
ステップ2) Double 変換 (ソース修飾子変換「SQ_EMP」) をクリックします。
変換編集ウィンドウが開きます。
ステップ3) 変換編集ウィンドウ内
- 「プロパティ」タブをクリックします
- トレースレベルオプションを選択します
- ドロップダウンから詳細データを選択します
- 「OK」ボタンを選択
ステップ4) マッピングを保存し、マッピングを実行します (マッピングを保存するには、ctrl+s キーボード ショートカットを使用します)。
ステップ5) ログを表示するには
- Open ワークフローモニター 最後のステップで実行されたセッションを選択します
- 「セッション ログ」オプションをクリックして、マッピングのセッション ログを開きます
これにより、マッピングのセッション ログ ウィンドウが開きます。
セッション ログには、セッションの実行方法に関する詳細が記録されます。実行の開始時と停止時のタイミングの詳細が記録されます。パフォーマンスに関する基本的な情報も記録されます。使用しているデータベース接続、使用しているパラメーター ファイルも記録されます。また、取得されたソース レコードの数、ターゲットにロードされたレコードの数など、ソースとターゲットの概要も記録されます。
ステップ6) ログを下にスクロールすると、データ レコードを含むキャプチャされた追加のログの詳細が表示されます。
この方法では、マッピングでトレース レベルを設定して、デバッグ用の追加の詳細をキャプチャできます。
このチュートリアルでは、デバッガーを設定、構成、実行する方法と、マッピングでトレース レベルを設定する方法を学習しました。 これらのオプションを使用すると、マッピングをデバッグできるようになります。