Informatica のマッピング: 作成、コンポーネント、パラメータ、変数
マッピングとは何ですか?
マッピングは、一連の変換によってリンクされたソース オブジェクトとターゲット オブジェクトのコレクションです。 これらの変換は、データ フローとデータがターゲットにロードされる方法を定義する一連のルールで構成されます。
マッピングは次のオブジェクトのセットから構成されます
- ソース定義 – ソース定義は、ソースの構造と特性、その基礎となるデータ型、データ ソースの種類などを定義します。
- 変換 – 変換オブジェクトはソース データの変換方法を定義し、プロセス中にさまざまな関数を適用できます。
- Target 定義 – Target 定義は、データがロードされる最終ターゲットを定義します。
- リンク – リンクは、ソース定義をさまざまな変換およびターゲット テーブルに接続します。 データがソースからターゲットにどのように流れるか、および変換が定義されます。
なぜマッピングが必要なのでしょうか?
マッピングは Informatica のオブジェクトであり、これを使用すると、ソースデータが宛先またはターゲットオブジェクトに到達する前にどのように変更されるかを定義できます。従業員名が「」の場合のように、Bill ソース システムとターゲット システムでは、従業員名を「Clinton」という形式にする必要があります。 Bill」では、このような操作をマッピング レベルで設計できます。基本的には、ソース データに対して何を行うかがマッピング レベルで定義されます。
マッピングは、データ変換の詳細とソース/ターゲット オブジェクトの特性を定義するために役立つ基本的な Informatica オブジェクトです。マッピングは、各行の個々の列レベルでデータ変換を定義するのに役立ちます。単一のマッピングでも、複数のソースとターゲットを処理できます。
マッピングのコンポーネント
マッピングの基本コンポーネントは次のとおりです。
- ソーステーブル
- パラメータと変数のマッピング
- Target オブジェクト
- マッピング変換
マッピングを構成するさまざまなオブジェクトがあります。 マッピングは次のように構成できます。 ソース、ターゲット、マッピング パラメータと変数、マプレット、さまざまな変換、およびユーザー定義関数の.
- マッピングソース: マッピング ソースは、ソース データのフェッチ元となるオブジェクトです。 データベース テーブル、フラット ファイル、XML ソース、または COBOL ファイルソース
- マッピング対象: マッピングターゲットは、最終的に処理されたデータがロードされる宛先オブジェクトです。 マッピングのターゲットは、データベースのリレーショナル テーブル、フラット ファイル、または XML ファイルです。 ソースとターゲットはどのマッピングでも必須ですが、そのタイプは異なる場合があります
- パラメータと変数のマッピング: パラメータと変数のマッピングは、データ処理のマッピング中に一時的な値を定義して保存するのに役立つ一時変数オブジェクトを作成するのに役立ちます。 マッピング パラメーターと変数はオプションのユーザー定義のデータ型で、マッピング用に作成したり、特定の要件に合わせて参照したり更新したりできます。 このセクションでは、パラメータと変数のマッピングについて詳しく学習します。
- マプレット: 変換、ソース、またはターゲットのセットで構成されるオブジェクトです。 マップレットは通常、一連の変換の既存の機能を再利用するために作成されます。 どのマッピングでも使用できます。
ステージマッピングとは何ですか?
ステージ マッピングは、ソース テーブルのレプリカを作成するマッピングです。 たとえば、実稼働システムに「employee」テーブルがある場合、ETL スキーマで同一のテーブル「employee_stage」を作成できます。
ローカル ステージ テーブルを使用すると、さまざまな利点があります。たとえば、本番環境の「employee」テーブルを参照するのではなく、独自の「employee_stage」テーブルがあるため、本番環境のダウンタイムが ETL システムに影響することはありません。本番環境システムでは、パフォーマンスに影響を与える他の操作やプロセスが存在する可能性があります。ただし、レプリカ ステージング テーブルがある場合は、ETL プロセスのみがそれにアクセスします。これにより、パフォーマンス上の利点が得られます。
ステージマッピングでは、
- ソースと Target テーブルの構造は同じです
- ターゲット テーブルのデータがソース テーブル データのレプリカであるか、
- ステージ (ターゲット) テーブル内のデータは、ソース データのサブセットです。
たとえば、ソース テーブルに部門番号 10、20、30、40 の従業員の詳細が含まれている場合、ステージング テーブルは、部門番号 10 と 30 の従業員レコードのみを含むテーブルにすることができます。
データ ウェアハウスにステージ テーブルを作成する目的は、関連するデータのみを取得してデータ変換のプロセスを効率化し、リアルタイム運用システムからの ETL/データ ウェアハウスの依存性を最小限に抑えることです。
マッピングの作成方法
この演習では、ソースが「emp table」、ターゲットが「emptgt」となるステージ マッピングを作成します。
命名規則 – マッピング名には「m_」という接頭辞が付けられ、その後にソースとターゲットのテーブル名がアンダースコア記号で区切られて続きます。
例 – emp テーブルから emp_target テーブルをロードする場合、マッピング名は「m_emp_emp_target」にすることができます。
ステップ1) マッピングデザイナーの起動
- Informatica Designerツールを開く
- マッピング デザイナー アイコンをクリックしてマッピング デザイナーを起動します
ステップ2)マッピングデザイナーの場合
- 「マッピング」メニューをクリックします
- 作成オプションを選択します
ステップ3) マッピング名に「m_emp_emp_target」と入力し、[OK]ボタンを選択します。
マッピングが作成され、マッピング フォルダーの下にリストされます。
マッピングには少なくとも ソースとターゲット、マッピングにソースとターゲットを追加します。
ステップ4) このステップでは、
- ソースフォルダーの下にある「emp」ソーステーブルを選択します。
- 「emp」テーブルをマッピング デザイナーにドラッグ アンド ドロップします。
マッピングデザイナーでは、インポートされたソーステーブルが表示されます。
注意 – マッピング内のリレーショナル (データベース) テーブルをインポートすると、ソース修飾子タイプの追加オブジェクトも作成されます。 このソース修飾子の変換は必要であり、Informatica 統合サービスがソース データベース テーブルとそのプロパティを識別するのに役立ちます。 ソーステーブルをインポートするたびに、ソース修飾子変換も作成されます。 マッピング内のソース修飾子オブジェクトは決して削除しないでください。
ステップ5) このステップでは、
- 「emp_target」ソーステーブルを選択 Targetsフォルダ。
- 「emp_target」テーブルをマッピング デザイナーにドラッグ アンド ドロップします。
マッピングデザイナーでは「対象テーブル」がインポートされて表示されます。
ビュー スペースを管理するために、マッピング内でこれらのオブジェクトをアイコン化できます。
ステップ6)マッピング デザイナーの空のワークスペースの任意の場所を右クリックし、オプション – [すべてアイコンを配置] を選択します。
「すべてアイコンを配置」オプションを選択すると、ワークスペースは次のようになります。
ステップ7) In 情報, 左から右への流れでデザインしていきます。 したがって、ソーステーブルは左側に、ターゲットテーブルは右側にある必要があります。 ワークスペースにテーブルを配置するには、「emp_target」テーブルを選択し、emp テーブルの右側にドラッグ アンド ドロップします。
この再配置後のワークスペースは次のようになります。
注意 – 定期的に「ctrl+s」ショートカットを使用して、リポジトリへの変更を保存します。
ステップ8) これでマッピングにソース テーブルとターゲット テーブルが追加されましたが、マッピングはまだ完了していません。 マッピングを完了するには、ソーステーブルとターゲットテーブルをリンクする必要があります。
ソースとターゲットをリンクするには
Double SQ_EMP テーブルと EMP_TARGET テーブルをクリックして、それらのビューをアイコンからグラフィックに変更します。
ステップ9) マッピング デザイナー ワークスペースを右クリックし、名前オプションで「自動リンク」を選択します。
ステップ10) ソーステーブルとターゲットテーブルをリンクするには
- ソーステーブルの列を選択します。
- 列をターゲットテーブルにドラッグアンドドロップします。
源と Target テーブルがリンクされ、ソース テーブルからターゲット テーブルへの接続矢印が表示されます。
注意 – ここでは、すべてのソース列をそれぞれのターゲット テーブル列にリンクしました。 つまり、ソース レコードがフェッチされるたびに、ターゲットのすべての列がロードされます。 特定の列をロードから除外したい場合は、その列のリンクをクリックし、キーボードの Del キーを押します。 リンクは削除され、ターゲット列はロードされません。
ステップ11) ショートカット「ctrl+s」を使用して、マッピングへの変更を保存します。出力ウィンドウに、マッピングの検証/解析のメッセージが表示されます。マッピングが有効であることが確認されます。また、マッピング フォルダー ツリーのマッピング名の横に、マッピングが正常に完了したことを示す一時的な緑色のチェック マークが表示されます。
マッピングでは、変数をマッピングに渡す必要があるという要件が存在する可能性があります。または、一時変数を計算する必要があり、さらにマッピングの次のセッション実行のためにそれらを保存する必要があるというシナリオが存在する可能性があります。 これらの目的のために、マッピング パラメーターと変数を作成します。
パラメータと変数のマッピング
他のプログラミング言語と同様に、Informatica にはパラメータと変数を定義する独自の方法があります。ただし、他のプログラミング言語とは異なり、Informatica はコードベースの言語ではありません。 Informatica でパラメータと変数を作成するには、事前定義された構文とナビゲーションに従う必要があります。
パラメータと変数の違い –
パラメータのマッピング | マッピング変数 |
---|---|
マッピング パラメータは、一度割り当てられた値がマッピングの実行中ずっと一定のままであるデータ型です。 マッピング パラメータ deptno=20 を作成した場合と同様、値 20 はマッピングの実行全体で一定になります。 参照されるパラメーターは、マッピング実行のそのインスタンスに対して常に値 20 を返します。 新しいマッピング インスタンスの場合、パラメータ値を再定義できます。 | マッピング変数は、マッピングの実行中 (値にアクセスするために) 参照でき、値を再割り当てできるオブジェクトです。 たとえば、total_salary のマッピング変数をマッピングで使用し、その値を給与に基づいて更新できます。 |
マッピング パラメータと変数は、マッピングにのみ固有です。 別のマッピングで参照することはできません。
マッピングパラメータの作成方法
マッピング パラメータを作成すると、マッピングの実行中に統合サービスは割り当てられた値を検索します。この値は次の場所に割り当てることができます。
- パラメータファイル内
- セッション前の変数割り当てで
- リポジトリの初期値
- 変数作成時に割り当てられるデフォルト値
ステップ1) マッピングパラメータを作成するには – マッピングデザイナーでは、
- マッピングメニューの選択
- パラメータと変数の選択メニュー
ステップ2) 次の画面では、
- 新しい変数の追加メニューをクリックします
- ドロップダウンからパラメータとしてタイプを選択します
- パラメータ名を $$Deptno として入力します
- 初期値として 10 を入力します
- 「OK」ボタンを選択
これで、最初に値 10 が割り当てられたマッピング パラメータ deptno が作成されました。このパラメータはマッピング内で参照できるようになります。
マッピング変数の作成方法
ステップ1) マッピングデザイナーで
- マッピングメニューの選択
- パラメータと変数の選択メニュー
ステップ2) 次の画面で
- 新しい変数の追加メニューをクリックします
- ドロップダウンから変数としてタイプを選択します
- 変数名を $$TotalSalary として入力します
- データ型を XNUMX 進数として選択します
- 初期値として 0 を入力します
- 「OK」ボタンを選択
これにより、マッピング変数が作成されます。
注意 – マッピングパラメータと変数名は常に $$ で始まります。
まとめ
Informatica では、プロジェクト要件に従ってソース データとターゲットを一致させるためにマッピングが重要です。 ステージのマッピングと、変数とパラメータのマッピングの概念について説明しました。