informatical lookupの使用詳細


LookupはETLでよく見られる操作です。例えば、プロダクトキーからプロキシキーへの変換、IDからnameへの変換など、lookupで実現できます。Informaticaのlookup trans formationコンポーネントは、このような普通の変換を実現するほか、緩やかな変化次元の更新などにも利用できます。機能は強力です。この文章はInformatica 8.1のオンライン文書に基づいて、informaticaのlookup trans formationを簡単に紹介します。変換•connected:接続する•unconnected:未接続の•cache:キャッシュ
一、lookupの機能・関連値の取得:例えばID検索name・実行計算:例えば計算式によって結果が得られた•更新が緩やかに変化した次元:lookupの条件によって挿入または更新記録などが決定されます。
二、rational lookup vs flat file lookuplookupのソースは関係データベースの中の表でもいいし、平文書でもいいです。関係表については、sourceまたはtargetから選択してもいいし、和平文書のようにimportガイドで作成してもいいです。
三、connected lookup vs unconnected lookuplinformaticaの変換は接続と非接続の二つに分けることができます。接続の変換とは、この変換がETL全体のデータストリームの中にあり、入力ortは直接に別の変換であり、接続ではない場合は、主データストリームの外に独立して、他の変換式によって入力データを得ることである。接続されたlookup変換は、データストリームの各データを処理し、lookup条件に合わない場合は、予め指定されたデフォルト値を出力し、ダイナミックキャッシュを更新することができます。出力値はすべてのoutput/lookup portです。静的または動的なキャッシュが使用されてもよい。未接続のlookup変換は、lookup条件に該当するデータのみを処理し、1つの値だけを返します。条件に該当しない場合はNULLを出力します。未接続のlookup変換は、複数回にわたって呼び出すことができます。出力値は一意のreturn portにあります。静的キャッシュのみ使用できます。
四、cacheinformaticaはlookupにcacheメカニズムを使用しています。サーバのcacheに対する処理の流れは大体以下の通りです。第一条データの処理を開始すると、サーバーはメモリにキャッシュを作成し、キャッシュのサイズはlookup変換の属性がいくつか決定されます。lookup条件に対してindex cacheを確立し、出力値に対してはdata cacheに置く。メモリキャッシュサイズが足りない場合は、オーバーフローのキャッシュをファイルに保存します。セッション終了後、キャッシュは消去されます。lookupキャッシュが恒久的に設定されていない限り。静的なcacheについては、lookup変換が許可されていません。動的なcacheは、lookupで条件に合わない値を見つけたらcacheを挿入または更新することができます。もちろん、どのcacheも使用しないように選択することができます。
五、lookup transmationコンポーネントlookupは全部で5つのコンポーネントがあります。つまり、lookupで右ボタンをクリックして、編集後に見られる5つのタブページを選んでください。実際には、基本的にinformaticaのすべてのtransformationは5つのコンポーネントです。その中の最初のtransformationページは署名して、第2のportsページは署名して第5のmetadata extensionsページとほとんど同じです。ただ、lookupのportは通常のI、OのほかにL、Rがあります。return portは一つしかありません。他の変換と直接接続することはできません。LKP:表現でしか得られません。4番目のconditionページでlookupを指定する条件は、実際には2つの表の関連条件を設定します。三つ目のpropertiesは一番重要です。ここでSQLを書き換えることができます。定義lookupから来て、条件に合った複数の記録を返す時の処理方式を設定して、動的cacheを使うかどうか、cacheの大きさなどを設定します。
六、lookup tips•lookup条件リストにindexを作成します。できるだけ使う=条件。複数の条件があれば、できるだけ=条件を一番前に置く•テーブルに対して、cacheを使用して、cacheサイズを設定して、テーブル全体をメモリにcacheできます•lookupのテーブルとソーステーブルが同じデータベースにある場合、cacheはあまり大きくないので、lookup・静的なlookupではなく、できるだけ永久cacheを使用してください。このような複数のセッションは再利用できます。