Informatica のセッション プロパティ: 完全なチュートリアル

⚡ スマートサマリー

Informatica のセッション プロパティは、コミット ポイント、ログ ファイル、メモリ割り当て、エラー処理、接続マップなど、統合サービスがソースからターゲットへ行を移動する方法とタイミングを制御します。ping 実行時に使用されます。

  • 🔘 セッションの基本事項: セッションとは、1つのマップに関連付けられたタスクのことです。ping一度割り当てられると交換することはできません。
  • ☑️ ソース行を次のように処理します。 挿入、更新、削除、およびデータ駆動型は、行が追加、変更、または削除されるかどうかを決定します。
  • 主キー: 更新および削除を実行するには、変更を適用する前に、対象テーブルに主キーが設定されている必要があります。
  • 🧪 テスト負荷: 行はソースから読み取られますが、書き込まれることはありません。そのためマップはping 安全に検証されています。
  • 🛠️ メモリチューニング: 「設定オブジェクト」タブでは、パフォーマンス調整のためにバッファブロックサイズとシーケンシャルバッファ長を設定できます。
  • 📦 負荷の種類: 一括ロードでは速度向上のためデータベースログがスキップされるが、通常ロードでは復旧の可能性が維持される。

Informatica のセッションプロパティ

セッションとは、Informaticaに対し、データをソースからターゲットへ移動させる方法とタイミングを指示する一連の命令のことです。

セッションは、ワークフロー マネージャーで作成する他のタスクと同様に、タスクです。作成するセッションには、 地図ping それに関連付けられています。

セッションには単一のマップを含めることができますping 一度割り当てられると変更できません。セッションタスクを実行するには、それを ワークフロー.

セッションは、再利用可能なオブジェクトにも、再利用不可能なオブジェクトにもなり得ます。タスクデベロッパーでセッションを作成すると再利用できますが、ワークフローデザイナでセッションを作成すると再利用できません。

再利用可能なセッションは複数のワークフローに追加できます。

セッションのプロパティ

セッションのプロパティを使用して、前後などのセッションのさまざまな特性を構成できます。 SQL スクリプト、ログ ファイル名とパス、メモリ プロパティなど。

マップを上書きすることもできますping セッションプロパティのプロパティ。このセクションでは、セッションの次の重要なプロパティについて説明します。

  • ソース行を次のように扱います
  • コミット間隔
  • セッションログファイルのプロパティ
  • テストロードプロパティ
  • ログオプション
  • エラー処理
  • ソース/Target 特性
  • つながり

ステップ1) 以前のチュートリアルで作成したセッション「s_m_emp_emp_target」をタスクデベロッパーで開きます。

タスク開発者ワークスペースにセッションs_m_emp_emp_targetがリストされています

ステップ2) Doubleタスクデベロッパー内のセッションアイコンをクリックして、タスク編集ウィンドウを開きます。

タスク開発者からセッションのタスク編集ウィンドウが開きました

ステップ3) 「タスクの編集」ウィンドウ内で、「プロパティ」タブをクリックします。

セッションの「タスクの編集」ウィンドウで「プロパティ」タブが選択されています。

ステップ4) Informaticaでは、「プロパティ」タブにセッションのプロパティが表示されます。

プロパティタブに表示されるセッションプロパティの全リスト

ソース行をプロパティとして扱う

このプロパティを使用すると、ソース データがターゲット テーブルにどのような影響を与えるかを定義できます。 たとえば、ソース レコードをターゲットに挿入するか、ターゲットから削除するかを定義できます。

このプロパティには XNUMX つのオプションがあります。

  • インサート
  • 更新
  • 削除
  • データ駆動型

4つの選択肢はすべて、物件名の横にあるドロップダウンメニューに表示されます。

ソース行を、挿入、更新、削除、およびデータ駆動オプションのドロップダウンリストとして扱います。

  • このプロパティを「挿入」に設定すると、ソースデータは挿入対象としてマークされます。つまり、データは挿入のみが行われるようになります。
  • プロパティが更新設定になっている場合、ソースデータによってターゲットデータが更新されます。データを更新するには、ターゲットテーブルに主キーを定義する必要があります。
  • プロパティが削除に設定されている場合、ターゲットテーブルに既に存在するソースデータは、ターゲットテーブルから削除されます。このプロパティを実行して変更を適用するには、ターゲットテーブルに主キーが定義されている必要があります。
  • プロパティが「データ駆動型」に設定されている場合、Informatica はどのソース レコードがマークされているかを確認します。ソース レコードがマップへの挿入としてマークされている場合、pingすると、レコードがターゲットに挿入されます。マップでレコードが更新としてマークされている場合pingすると、ターゲットのレコードが更新されます。したがって、ターゲットで実行される操作は、マップ内でレコードがどのように処理されるかに依存します。ping.

データ駆動型とは、地図をいつ表示するかを選択するオプションです。ping 更新戦略変換を保持しています。なぜなら、その変換は各行を個別にフラグ付けするからです。

治療ソース行の作成方法 – 削除

ステップ1) セッションタスクのプロパティタブで:

  1. 「ソース行の処理方法」で「削除」オプションを選択します。
  2. OKボタンを選択してください

セッションのプロパティとしてソース行を処理するで選択した項目を削除します

ステップ2) 対象テーブルに主キーを定義するには、Informatica Designerを開きます。

  1. 店は開いています Target デザイナー
  2. Double-「emp_target」テーブルをクリックします

emp_target テーブルが開かれました Target Informatica Designer 内の Designer

これにより、対象のテーブルの「テーブル編集」ウィンドウが開きます。

ステップ3) 対象テーブルの編集ウィンドウで:

  1. EmpNo列については、ドロップダウンメニューからキータイプとして「主キー」を選択し、
  2. [OK]ボタンを選択します。

emp_targetテーブルの編集ウィンドウで、EmpNo列を主キーに設定しました。

ステップ4) Informaticaで変更を保存し、このマップのワークフローを実行します。ping.

このマップを実行するとpingターゲットに既に存在するソースレコードは削除されます。

コミット間隔 – プロパティ

このプロパティは、Informaticaが対象テーブルに対してコミット操作を実行するまでの間隔を定義します。

たとえば、ターゲット テーブルに 20,000 件のレコードを挿入し、コミット間隔を 5,000 に定義すると、ターゲットに 5,000 件のレコードが挿入されるたびにコミット操作が実行されます。

デフォルトの間隔は10,000行で、コミットタイプはターゲットベースまたはソースベースに設定できます。

セッションのプロパティタブにコミットタイプとコミット間隔のフィールドが表示されます。

セッションログファイル名とセッションログファイルディレクトリ

このプロパティを構成して変更します

  • デフォルトのセッションログファイル名と
  • ログファイルのパス

$PMSessionLogDir\ は Informatica の変数であり、 Windows これは、デフォルトの場所「C:\Informatica\9.6.1\server\infa_shared\SessLogs」を指しています。

セッションプロパティのセッションログファイル名とセッションログファイルディレクトリのフィールド

テストロードを有効にする

このプロパティを使用すると、セッションとマップをテストできます。pingこの機能を使用してセッションを実行すると、レコードはソースから取得されますが、ターゲットにはロードされません。そのため、この機能は、 テスト 地図の正確さpings、パラメータファイル、およびマップ内のさまざまな変換の機能ping.

この機能を有効にすると、「テストする行数」という別のプロパティが追加されます。これは、テストロードのためにソースから取得するレコード数を設定する必要があります。

テストロードを有効にするチェックボックス(横に「テストする行数」フィールドがあります)

メモリのプロパティ

メモリプロパティを使用すると、Informaticaに割り当てられるメモリを細かく調整してパフォーマンスを最適化できます。深刻なボトルネックが発生し、パフォーマンスが低下している場合は、メモリプロパティを使用してパフォーマンスを改善してみてください。

メモリのプロパティを設定するには、「タスクの編集」ウィンドウの「オブジェクトの設定」タブをクリックします。すると、変更内容を設定できる別のウィンドウが開きます。

セッションの「タスクの編集」ウィンドウで「構成オブジェクト」タブが選択されています。

このセクションでは、メモリのプロパティを設定できます。例えば、デフォルトのバッファブロックサイズ、シーケンシャルバッファ長などです。これらのプロパティを変更することで、Informaticaサービスの動作に割り当てるメモリ量が決まります。

設定オブジェクトタブのデフォルトのバッファブロックサイズとシーケンシャルバッファ長フィールド

ログオプション

このプロパティセクションでは、セッションのログプロパティを設定できます。セッションごとに保存するログの数と、セッションログファイルの最大サイズを設定できます。

ログオプショングループには、保存セッションログの設定と最大ログファイルサイズが表示されます。

エラー処理

このセクションでは、セッションのエラー プロパティを構成できます。

「エラー発生時に停止」機能を使用すると、セッションを停止するまでに発生するエラーの数を設定できます。

オーバーライドの使用 tracing、マップを上書きできますping tracレベル。

ストアドプロシージャのエラー、SQLの前後のエラーなど、発生したさまざまなエラーに対するセッションの動作を設定することもできます。

エラー処理グループ(Config Objectタブ)の「エラー発生時に停止」フィールド

地図ping およびソース/Target 特性

地図上でping タスク編集ウィンドウのタブで、マップのプロパティを設定できます。ping そして、そのソース、ターゲット、変換についても。テーブル名はここで上書きでき、テーブル名のプレフィックスを適用でき、マップ内で変換プロパティを設定できます。ping 内容を確認したり、必要に応じて変更したりすることも可能です。すべての内容を確認できる一箇所です。

地図ping ソース、ターゲット、変換の一覧を表示するタスク編集ウィンドウのタブ

マップ内の接続プロパティping

このプロパティを使用すると、ソースとターゲットのデータベース接続を定義できます。

リレーショナル接続ブラウザーは、ソース接続とターゲット接続を設定するために使用されます。

ソースのプロパティ

このセクションでは、マップのソースに関連するプロパティを設定できます。pingソースに対して、SQL処理の前後のスクリプトを設定できます。

SQLクエリプロパティを使用すると、ソースのSQLを上書きできます。このセクションでは、ソーステーブル名も上書きできます。

ソースプロパティペインに、SQLクエリとソーステーブル名のオーバーライドが表示されます。

Target 特性

このセクションでは、ターゲットの詳細を設定できます。ターゲットとなる荷物がバルクロードであるか、通常の荷物であるかを定義できます。

Target 負荷の種類 ランニングにとっての意味
ノーマル データはデータベースログに書き込まれるため、読み込み速度は遅くなりますが、障害発生後のデータベース復旧は可能です。
バルク リドゥログバッファはバイパスされるため、ロードは高速化されますが、ロード失敗時のリカバリは利用できません。

また、対象テーブルにデータを挿入する前に切り捨てるプロパティを定義することもできます。これにより、テーブルが最初に空になり、その後ロードが実行されます。このプロパティは、マップを作成する際に役立ちます。pingステージ荷重用。

ターゲットテーブルに対して、プリSQLとポストSQLを定義することもできます。プリSQLは、ターゲットテーブルへの挿入を実行する前に実行されるSQLコードであり、ポストSQLは、ターゲットテーブルへのデータロードが完了した後に実行されます。

Target ターゲットロードタイプ、切り捨てオプション、および事前および事後SQLフィールドを含むプロパティペイン

セッションタスクの成功または失敗

ワークフローが複数のセッションを保持している場合、1つ以上のセッションが失敗し、残りが成功する可能性があり、ワークフローの状態をどうすべきかという疑問が生じます。このような状況に対処するため、Informatica はワークフロー内に失敗固有のプロパティを提供します。このような動作を設定するには、

ステップ1) 先ほど作成したワークフロー「wkf_run_command」を開きます。

ワークフロー wkf_run_command がコマンドとセッションタスクとともにワークフローマネージャで開かれました。

ステップ2) Doubleコマンドタスクをクリックします。すると、「タスクの編集」ウィンドウが開きます。

  1. 一般タブを選択します
  2. 「このタスクが失敗した場合に親タスクを失敗させる」プロパティのチェックボックスを選択してください。
  3. OKボタンを選択してください

コマンドタスクの「一般」タブで「このタスクが失敗した場合に親タスクを失敗させる」が選択されている場合、親タスクを失敗させる

ステップ3) Doubleセッションタスクをクリックします。すると、「タスクの編集」ウィンドウが開きます。

  1. 一般タブを選択します
  2. 「このタスクが失敗した場合に親タスクを失敗させる」プロパティのチェックボックスを選択してください。
  3. OKボタンを選択してください

セッション タスクの「一般」タブで「このタスクが失敗した場合に親を失敗させる」が選択されています。

ステップ4) Ctrl+Sショートカットキーを使って変更を保存してください。

上記の変更を行った後にこのワークフローを実行すると、いずれかのタスクが失敗した場合、ワークフローの状態が「失敗」に設定されるため、ワークフローの実行中に一部のタスクが失敗したことを確認できます。

よくあるご質問

はい。タスクデベロッパーで作成されたセッションは再利用可能で、さまざまな場所に配置できます。 ワークフローワークフローデザイナーで作成されたものは再利用できず、そのワークフローのみに属します。

インテグレーションサービスは、キー列から生成されるUPDATEまたはDELETEステートメントのWHERE句を構築します。ターゲット定義に主キーがない場合、一致する行はなく、何も変更されません。

各行を、挿入、更新、削除、または拒否としてフラグ付けします。 そのため、セッションは「データ駆動型」を選択して実行する必要があります。

ソース修飾子とそれが供給するターゲットをグループ化することで、関連するテーブルが選択された順序でロードされ、子行が到着する前に親行が配置されるようになります。

セッションログで、読み取りスレッド、変換スレッド、書き込みスレッドのビジー率を確認してください。最もビジーなスレッドが真のボトルネックであり、その場合にのみバッファ設定に注意を払う必要があります。

はい。接続名、ソースディレクトリ、マップping パラメータは実行時にパラメータファイルから読み込まれるため、開発、テスト、本番環境を通して変更されることなく、1つのオブジェクトが実行されます。

最新のETLプラットフォームにおける機械学習モデルは、実行履歴を分析し、どの段階がボトルネックになるかを予測し、パーティショニングやメモリの変更を推奨することで、手動による試行錯誤を不要にします。

はい。副操縦士が SQL インデックス削除、切り捨てステートメント、監査挿入など、ロード処理の前後に実行されるステートメント。生成された各ステートメントは、スキーマレビューが必要です。