SAP Data Services の説明
データへのアクセス
ジョブおよびデータフローの開発
バッチジョブのトラブルシューティング
関数、スクリプト、変数の使用
Platform トランスフォームを使用したデータのクエリ
Platform トランスフォームによるデータの分割と結合
エラーの処理と障害からのリカバリ
データ更新
SAP Data Services インテグレータトランスフォームを使用した高度な ETL シナリオの設計
パフォーマンスの最適化

データフローのデバッグ

Objectives

After completing this lesson, you will be able to:
  • ジョブの成功の特定
  • 対話型デバッガの使用

データの表示機能

ジョブが成功したことを確認します。

ジョブの成功の最適な指標は、ターゲットデータのステータスです。データを常に調べて、データ移動操作によって期待される結果が生成されることを確認してください。

  • データを互換性のない型に変換したり、切り捨てたりしてはなりません。
  • ターゲットでデータを複製することはできません。
  • ターゲットの更新間でデータを失ってはなりません。
  • 生成されたキーは、適切に増分されている必要があります。
  • 更新された値が適切に処理されている必要があります。

ソースおよびターゲットによるデータ表示の使用

以下の図に示すように、データの表示機能を使用すると、データソースに対してメタデータがインポートされた後の任意の時点でデータのステータスをチェックすることができます。データは、データフローの処理前または処理後にチェックされます。ジョブの設計およびテスト時にデータをチェックし、設計によって期待どおりの結果が返されることを確認します。

データ詳細

データの表示では、ジョブの実行前にソースデータを確認することができます。データ詳細を使用して、以下を実行します。

  • 高品質なジョブ設計の作成
  • ローカルオブジェクトライブラリからインポートされたテーブルおよびファイルデータのスキャンと分析
  • 既存のジョブ内の同じオブジェクトのデータを表示します。
  • ジョブの実行後にソースデータを参照します。

データの表示では、ジョブの実行前にターゲットデータをチェックすることもできます。ジョブが実行されたら、変更されたデータを表示します。データフローでは、1 つ以上のデータの表示パネルを使用して、トランスフォーム間、およびソースオブジェクトとターゲットオブジェクト内のデータを比較することができます。

データの表示では、データグリッドの行および列にデータが表示されます。選択したオブジェクトのパスがペインの上部に表示されます。

データグリッドでのデータの表示

表示される行数は、複数の条件の組合せによって決定されます。

  • サンプルサイズ:

    メモリ内でサンプリングされたローの数。インポートされたソース、ターゲット、およびトランスフォームのデフォルトサンプルサイズは 1000 行です。

  • フィルタリング:

    選択されているフィルタオプション。元のデータセットがより小さい場合、またはフィルタが使用されている場合は、返される行数がデフォルトより少ない場合があります。

データ表示ペイン

データフローワークスペースでデータの表示ペインを開くには、以下の手順に従います。

  1. データフローワークスペースで、データフローオブジェクトの虫眼鏡ボタンを選択します。

    現在のワークスペース領域の下に、大きな [データの表示] ペインが表示されます。

  2. データを比較するには、別のオブジェクトの虫眼鏡ボタンを選択します。

    ワークスペース領域の下に 2 番目のペインが表示され、最初のペイン領域は縮小されて収まります。

データ表示ウィンドウは、常に 2 つだけ開くことができます。3 番目のウィンドウが開くように選択すると、プロンプトが表示され、ウィンドウの 1 つが終了するように選択されます。

ソーステーブルとターゲットテーブル

ソーステーブルとターゲットテーブルのデータの表示を使用するには、以下の手順に従います。

  • ローカルオブジェクトライブラリのデータストアタブで、テーブルを右クリックし、メニューからデータの表示を選択します。
  • データの表示ダイアログボックスが表示されます。

両方のペインに値を入力し、別の [データの表示] ボタンを選択すると、ウィンドウ配置アイコンを含む小さなメニューが表示されます。各アイコンの黒い領域は、新しいデータセットで置き換えるペインを示します。メニューオプションを選択すると、最後に選択したオブジェクトのデータによって、対応するペイン内のデータが置き換えられます。

インタラクティブデバッガ

Designer には、データフローダイアグラムの行にフィルタとブレークポイントを配置することで、ジョブのトラブルシューティングを可能にする対話型デバッガが含まれています。対話型デバッガでは、デバッグモードジョブの実行中にデータの検査と変更を行単位で行うことができます。

デバッグモードでジョブを実行し、デバッグモードのままでデータフローにナビゲートすると、データフローの各ステップにドリルインしてデータを表示することができます。

ジョブがデバッグモードで実行されると、Designer には、対話型デバッガを構成する複数の追加ウィンドウ (Call StackTraceVariables、および View Data ペイン) が表示されます。これらのウィンドウを以下の図に示します。

データ表示ペイン

左側の [データの表示] ペインにはソーステーブルのデータが表示され、右ウィンドウ枠にはクエリに渡された行がブレークポイントまで表示されます。

インタラクティブデバッガの開始

  1. プロジェクト領域でジョブを右クリックし、メニューから Start Debug を選択します。

    Debug Properties ダイアログボックスが表示されます。

  2. 実行のプロパティを設定します。

    デバッグなしでジョブを実行する場合は、同じプロパティの多くを指定します。さらに、データサンプルレートフィールドで、サンプリングする行数を指定します。

  3. OK を選択します。

    デバッグモードが開始されます。デバッグモードでは、他のすべての Designer 機能は読込専用に設定されます。デバッグの進行中に、タスクバーに Debug アイコンが表示されます。

  4. ブレークポイントを設定した場合は、対話型デバッガのツールバーで Get Next Row を選択して次のブレークポイントに移動します。
  5. デバッグモードを終了するには、Debug メニューから Stop Debug を選択します。

フィルタおよびブレークポイント

デバッグモードジョブの実行中に行ごとにデータを検査および変更できるデバッグセッションを開始する前に、データフローダイアグラムの行にフィルタとブレークポイントを設定することができます。このアクションを以下の図に示します。

デバッグフィルタは、WHERE 句を使用した単純な Query トランスフォームと同様に機能します。デバッグジョブ実行でデータセットを削減する場合は、フィルタを使用します。デバッグフィルタでは複雑な式はサポートされていません。

ブレークポイントは、デバッグジョブの実行が一時停止して制御を返す場所です。ブレークポイントは、条件に基づくことも、特定の数の行後にブレークするように設定することもできます。

フィルタまたはブレークポイントをソースとトランスフォーム、または 2 つのトランスフォームの間の線に配置します。フィルタとブレークポイントが同じ行に設定されている場合、Data Services では最初にフィルタが適用されます。つまり、ブレークポイントはフィルタされた行にのみ適用されます。

フィルタおよびブレークポイントの設定

  1. データフローワークスペースで、2 つのオブジェクトを接続する線を右クリックし、メニューからフィルタ/ブレークポイントの設定を選択します
  2. ドロップダウンリストのブレークポイントウィンドウで、フィルタまたはブレークポイントを適用する列を選択します。
  3. 演算子ドロップダウンリストで、式の演算子を選択します。
  4. Value フィールドに、式を完了するための値を入力します。

    フィルタ/ブレークポイントの条件では、文字列にデリミタは使用されません。

  5. 複数の条件を使用している場合は、すべての条件に対してステップ 3 からステップ 5 を繰り返し、ドロップダウンリストを使用してすべての条件を連結から適切な演算子を選択します。
  6. OK を選択します。

試してみる

デバッガのフィルタおよびブレークポイントの使用について説明します。