この章では、Oracle Data Integratorでデータ品質製品を使用する方法について説明します。
この章では、次の項目について説明します。
Oracle Data ProfilingおよびOracle Data Quality for Data Integrator (あわせてOracle Data Quality製品とも呼ばれます)は、Oracle Data Integratorのインライン・データ品質機能を拡張して、より高度なデータ・ガバナンス機能を提供します。
完全なデータ品質システムには、データのプロファイリング、整合性および品質が含まれます。
プロファイリングによって、データの調査および品質評価が可能になります。ビジネス・ユーザーは、データ品質の課題を明確に把握し、データの品質を一定期間監視および追跡できます。プロファイリングは、Oracle Data Profilingによって処理されます。プロファイリングを使用すると、ビジネス・ユーザーは、メトリックを介してデータの品質を評価し、このデータに基づいてルールを検出または推測し、データ品質の変化を一定期間監視できます。
整合性の制御は、情報システムのアプリケーションに含まれるデータ全体の一貫性を確保するために必要です。アプリケーション・データは、情報システムによって課せられる制約および宣言的ルールに対して有効でない場合があります。たとえば、顧客が指定されていない注文や製品が指定されていない注文明細などが検出される可能性があります。Oracle Data Integratorには、これらの制約違反を検出し、リサイクルまたはレポート作成のために格納する作業環境が組み込まれています。Oracle Data Integratorの静的チェックおよびフロー・チェックは整合性チェックです。
品質には、整合性が含まれ、その範囲はさらに複雑な品質処理までおよびます。ルール・ベースのエンジンによって、統合プロセスの一環としてデータ品質基準が適用され、名前および住所を含むあらゆるタイプのデータのクレンジング、標準化、拡充、照合および重複除去が行われます。Oracle Data Quality for Data Integratorによって、データ品質および名前と住所のクレンジングが企業の統合戦略の中心となります。
この項で説明するデータ品質プロセスでは、Oracle Data Integrator製品を使用してシステムから抽出したデータを、Oracle Data Quality製品でプロファイリングおよびクレンジングします。さらに、クレンジングしたデータを、Oracle Data Integratorを使用して元のシステムに再統合します。
品質プロセスのには:
Oracle Data Integratorで、クレンジングするデータが含まれる品質入力ファイルを作成します。
このファイルに基づいて、Oracle Data Qualityにエンティティを作成します。
品質の問題を特定するためのプロファイリング・プロジェクトを作成します。
このエンティティをクレンジングするOracle Data Qualityプロジェクトを作成します。
ランタイム用にデータ品質プロジェクトをエクスポートします。
RKM Oracle Data Qualityを使用して、エンティティをリバースエンジニアリングします。
OdiDataQualityツールを使用して、Oracle Data Integratorからこの品質プロジェクトを実行します。
Oracle Data Qualityでは、品質プロジェクトのソースとしてクレンジングするデータが含まれるフラット・ファイルが使用されます。この品質入力ファイルは、Data Integratorで作成し、インタフェースを使用して任意のソース・データストアからロードできます。このファイルは、「ファイル」タブで次のパラメータが定義されているファイル・データストアである必要があります。
パラメータ | 値 |
---|---|
ファイル・フォーマット |
|
ヘッダー(行数) |
|
レコード・セパレータ |
|
フィールド・セパレータ |
|
[フィールド・セパレータ]その他 |
|
テキスト・デリミタ |
|
小数点セパレータ |
|
ファイル・データストアの作成の詳細は、第5章「モデルの作成およびリバースエンジニアリング」を参照してください。フラット・ファイルのロードの詳細は、Oracle Fusion Middleware Oracle Data Integrator接続性およびナレッジ・モジュール・ガイドのファイルを参照してください。
Oracle Data Quality for Data Integratorへのデータ・ソースのインポートとは、デリミタ付きソース・ファイルに基づいてエンティティを作成することを意味します。
管理者は、Oracle Data Quality for Data Integratorのインストール時に、少なくとも1つのローダー接続を設定する必要があります。このローダー接続を使用して、Oracle Data Quality入力ファイルにアクセスします。入力ファイルがデリミタ付きファイルであるため、このローダー接続にはデリミタ付きローダー接続が必要です。ステップ1では、このデリミタ付きローダー接続の設定を検証する必要があります。また、必要なすべてのデータおよびスキーマ・ファイルが、ローダー接続によって定義されたディレクトリにコピーされていることを確認してください。
メタベース・マネージャにアクセスできない場合は、メタベース管理者にローダー接続の確認を依頼してください。
メタベース・マネージャへのアクセス権があるメタベース・ユーザーの場合は、次の手順に従います。
ローダー接続を検証するには:
メタベース・マネージャを開きます(「スタート」→「プログラム」→「Oracle」→「Oracle Data Profiling and Quality」→「Metabase Manager」)。
管理モードに設定されていることを確認します。
「Control Admin」ノードを展開します。
「ローダー接続」をダブルクリックします。
右側のローダー接続のリスト・ビューに各ローダー接続が表示され、その名前、タイプ、データ・ファイルおよびパラメータが示されます。情報を参照して、管理者によって作成されたローダー接続がデリミタ付きローダー接続であること、データおよびスキーマのディレクトリが正しい場所を指していることを確認します。
注意: 完全なメタベース権限があるメタベース・ユーザーの場合は、新規ローダー接続を作成できます。 |
エンティティの作成ウィザードを使用して、エンティティを作成します。このウィザードを使用すると、各ステップを実行して、ロードするデータを選択できます。提供されるインタフェースを使用して、接続およびスキーマの設定を指定できます。また、エンティティでのデータの表示方法をカスタマイズするオプションも指定できます。
デリミタ付きソース・ファイルをOracle Data Quality for Data Integratorにインポートするには:
Oracle Data Quality for Data Integratorにインポートするフラット・ファイルを、ローダー接続の定義時に指定したデータ・ディレクトリ内にコピーします。
Windowsの「スタート」メニューをクリックし、「プログラム」→「Oracle」→「Oracle Data Profiling and Quality」→「Oracle Data Profiling and Quality」の順に選択します。
メタベース・ユーザーとしてユーザー・インタフェースにログインします。Oracle Data Profiling and Qualityのユーザー・インタフェースが開きます。
メイン・メニューから、「分析」→「エンティティの作成」の順に選択します。
右上のペインに、エンティティの作成ウィザードが開きます。
エンティティの作成ウィザードの接続ページで、ステップ1で確認した、管理者から提供されたローダー接続を選択します。
フィルタおよび接続の設定をデフォルトのままにし、「次へ」をクリックします。
Oracle Data Qualityによって、ステップ4で選択したローダー接続を使用してデータ・ソースに接続されます。接続に失敗する場合は、メタベース管理者に連絡してください。
「エンティティ選択」ダイアログで、インポートするデータ・ソース・ファイル名をリストから選択し、「次へ」をクリックします。
選択したデータ・ファイルのスキーマ設定を選択します。この設定は、16.2.1項「Quality入力ファイルの作成」で説明したファイルのパラメータに対応します。
デリミタ: ,
(カンマ)
引用符: "
(二重引用符)
属性情報: 1行目の名前
レコードはCR/LFで終了: 選択
文字エンコーディング: ascii
デリミタ付きファイルに対するエンティティの構成の詳細は、Oracle Data ProfilingおよびOracle Data Qualityのオンライン・ヘルプを参照してください。
注意: Oracle Data Integratorを使用してファイルを生成する場合、これらのファイル形式のパラメータは、データストア定義の「ファイル」タブで指定したファイル形式に対応する必要があります。 |
スキーマの設定の選択後、「プレビュー」をクリックします。プレビュー・モードでは、選択したスキーマ設定に基づいて、エンティティでデータがどのように表示されるかが示されます。データは下部のリスト・ビュー内に表示されます。プレビュー・モードを使用して、新規エンティティでのデータの表示方法をカスタマイズします。
続行する準備が整った後、「閉じる」をクリックします。
「次へ」をクリックします。「ロード・パラメータ」ダイアログが開きます。次のようにパラメータを指定します。
「すべての行」を選択します。
デフォルトのジョブ名はそのままにします。
「次へ」をクリックして続行します。
設定の確認で、設定のリストを確認し、「終了」をクリックしてエンティティの作成ジョブをスケジュールします。「ジョブのスケジュール」ウィンドウが開きます。
「即時実行」をクリックします。
データのインポート処理中に、Oracle Data Quality for Data Integratorによって、データ・ファイルはエンティティ、属性および行の3つの基本コンポーネント(メタベース・オブジェクト)に変換されます。
次に示す確認作業を実行して、必要なデータがメタベースに正常にインポートされ、メタベース・エクスプローラに適切に表示されることを確認します。
インポートしたデータ・ファイルごとに、1つのエンティティが対応していることを確認します。
アンダースコア(_)またはマイナス記号(-)の文字を除いて、列名に特殊文字が含まれていないことを確認します。マイナス記号およびアンダースコアは、データのロード・プロセス時にスペースに変換されます。
インポートしたフィールドごとに、1つの属性が対応していることを確認します。
インポートしたデータ行ごとに、1つのエンティティ行が存在することを確認します。
これでOracle Data Profilingを使用してデータ・プロファイリング・プロジェクトを実行して、品質の問題を検出する準備ができました。プロファイリングによって、エンタープライズ・データの品質が検出および分析されます。最も詳細なレベルでデータが分析され、データの異常、フィルタおよびデータ・ルールの破棄、データ・リレーションシップの不整合および経営目標を妨げる可能性があるデータに関するその他の懸念事項が識別されます。
データ・プロファイリングの詳細は、Oracle Data ProfilingおよびOracle Data Qualityのオンライン・ヘルプのOracle Data Profilingの使用に関する説明を参照してください。
ここでは、Oracle Data Qualityプロジェクトを作成して、データを検証および変換し、不一致や冗長性などのデータの問題を解決します。
Oracle Data Quality for Data Integratorは、各国固有のデータを含め、多数のビジネス・コンテキストおよびアプリケーション全体のフィールド、値およびレコードを修復および修正するための強力なツールです。Oracle Data Quality for Data Integratorでは、データを標準化、クレンジングおよび拡充する処理、カスタマイズのためのチューニング機能およびリアルタイムで結果を表示する機能が使用可能です。
品質プロジェクトは、入力ファイルをクレンジングし、クレンジング後のデータを出力ファイルにロードします。Oracle Data Qualityプロジェクトの最後に、データ品質プロジェクトに応じて、入力ファイルが複数の出力ファイルに分割される場合があります。
重要: データ品質プロジェクトには多数の一時エンティティが含まれ、統合プロセスに有効ではないエンティティもあります。Oracle Integratorで使用するためにリバースエンジニアリングされるエンティティを制限するには、エンティティ名に基づいたフィルタを使用できます。このフィルタを効果的に使用するために、Oracle Data Integratorで使用するエンティティの名前を品質プロジェクト内で一貫性のある方法で変更することをお薦めします。たとえば、エンティティの名前をODI_IN_XXX
、出力(および一致しない)ファイルの名前をODI_OUT_XXX
(XXX
はエンティティ名)に変更します。
データ品質プロジェクトの詳細は、Oracle Data ProfilingおよびOracle Data Qualityのオンライン・ヘルプのOracle Data Qualityの使用に関する説明を参照してください。
Oracle Data Integratorでは、Oracle Data Qualityからエクスポートしたプロジェクトを実行できます。データ品質プロジェクトの作成完了後、Oracle Data Integrator用にエクスポートする必要があります。エクスポートしたプロジェクトには、プロジェクトの各プロセス・モジュールのデータ・ファイル、データ・ディクショナリ言語(DDL)ファイル、設定ファイル、出力ファイルと統計ファイル、ユーザー定義の表およびスクリプトが含まれます。エクスポートしたプロジェクトは、ユーザー・インタフェースなしでUNIXまたはWindowsプラットフォームで実行可能であり、必要となるのはOracle Data Qualityサーバーのみです。
バッチ・スクリプトを作成するには:
エクスプローラまたはプロジェクト・ワークフローで、Oracle Data Qualityプロジェクトを右クリックし、「エクスポート」→ODQバッチ・プロジェクト→データなしの順に選択します。
フォルダの参照で、プロジェクトのエクスポート先のフォルダを選択または作成します。
「OK」をクリックします。ファイルをコピー中であることを示すメッセージ・ウィンドウが表示されます。このエクスポート処理によって、指定した場所に、メタベース名に基づいて命名されたフォルダ(<metabase_name>
)が作成されます。このフォルダには、projectNサブフォルダ(NはOracle Data Qualityでのプロジェクト識別子)が含まれます。このプロジェクト・フォルダには、様々なフォルダとともに、次のフォルダが含まれます。
data: このフォルダには、入出力データおよび一時データ・ファイルが格納されます。これらのファイルの拡張子は.DAT
です。このエクスポートではデータなし
を指定したため、このフォルダは空です。
ddl: このフォルダには、エンティティのメタデータ・ファイル(.DDX
および.XML
)が格納されます。これらのファイルには、データ・ファイルのフィールドが記述されます。ファイルには接頭辞eNN_
(NN
はエンティティ番号)が付加されます。各エンティティは、2つのメタデータ・ファイルに記述されます。eNN_<name of the entity>
.ddx
は、列が重複している可能性があるエンティティの記述です(固定ファイル用)。enNN_<name of the entity_
csv.ddx
は、列が重複していないエンティティの記述です(固定ファイルおよびデリミタ付きファイル用)。これらのファイルをリバースエンジニアリング・プロセスで使用することをお薦めします。
scripts: このフォルダには、バッチ・スクリプトrunprojectN
が格納されます。このスクリプトによって、品質プロセスが実行されます。このスクリプトは、Oracle Data Integratorによってトリガーされます。
settings: このフォルダには、設定ファイル(.ddt
、.sto
、.stt
、.stx
)および構成ファイルconfig_batch.tbl
が格納されます。
メッセージ・ウィンドウの終了後、指定したフォルダを調べ、すべてのフォルダおよびファイルが正しく作成されていることを確認します。
エクスポートしたプロジェクトをランタイム・マシン上のフォルダに移動します。このマシンには、Oracle Data Qualityサーバーがインストールされている必要があります。これは品質プロジェクトを実行するマシンです。
テキスト・エディタで、projectN
フォルダの/batch/settings
サブフォルダ内にあるバッチ・スクリプト(runprojectN
)および構成ファイル(config_batch.tbl
)を開きます。
次の変更を実行してプロジェクトのランタイム・ディレクトリを構成します。
config_batch.tbl
で、DATABASE
パラメータに対して、projectN
フォルダを含むディレクトリの場所(絶対パス)を指定します。
runprojectN
で、TS_PROJECT
パラメータに対して、projectNディレクトリの場所(絶対パス)を指定します。
たとえば、config_batch.tbl
およびrunproject2.*
ファイルの場所がC:\oracle\oracledq\metabase_ data\metabase\oracledq\project2\batch\
である場合は、次のように指定します。
\settings\config_batch.tbl: DATABASE = C:\oracle\oracledq\metabase_ data\metabase\oracledq\project2\batch
\scripts\runprojectN.*: set TS_PROJECT=C:\oracle\oracledq\metabase_ data\metabase\oracledq\project2\batch
変更内容を保存し、config_batch.tbl
ファイルを閉じます。
runprojectNで、ファイルの最終行を非コメント化します(最終行の先頭にある::
文字を削除)。
変更内容を保存し、runprojectNファイルを閉じます。
Oracle Data Integratorでは、CSV形式のファイル(通常、カンマ区切りで1行目がヘッダー行)を使用してデータ品質プロジェクトに入力データが提供されます。出力データも同じ形式を使用する必要があります。
/settings
ディレクトリで、エディタを使用して、プロジェクトの最初のプロセスに対応する設定ファイルを開きます。最初のプロセスが変換である場合、通常、このファイルの名前はeN_transfmr_p1.stx
(N
は品質入力ファイルに対応するエンティティの内部ID)です。
設定ファイルの次の入力パラメータを変更します:
DATA_FILE_NAME
に、実行時の品質入力ファイルの名前および場所(絶対パス)を指定します。
FILE_DELIMITER
に、品質入力ファイルで使用するデリミタを指定します。
START_RECORD
に、データが開始する行番号を指定します。たとえば、1行目がヘッダー行である場合は、この値に2
を指定する必要があります。
たとえば、品質入力ファイルcustomer_master.csv
(カンマ区切りで1行目がヘッダー行)がC:/oracle/oracledq/metabase_data/metabase/oracledq/Data/
にある場合、次のセクションを編集する必要があります。
<CATEGORY><INPUT><PARAMETER><INPUT_SETTINGS> <ARGUMENTS> <ENTRY> <ENTRY_ID>1</ENTRY_ID> <FILE_QUALIFIER>Customer_Master(1)</FILE_QUALIFIER> <DATA_FILE_NAME>$(INPUT)/e1_customer_master.dat</DATA_FILE_NAME> <DDL_FILE_NAME>$(DDL)/e1_customer_master.ddx</DDL_FILE_NAME> <FILE_DELIMITER/> <USE_QUOTES_AS_QUALIFIER/> <START_RECORD/>
次のようにします。
<CATEGORY><INPUT><PARAMETER><INPUT_SETTINGS> <ENTRY> <ENTRY_ID>1</ENTRY_ID> <FILE_QUALIFIER>Customer_Master(1)</FILE_QUALIFIER> <DATA_FILE_NAME>C:\oracle\oracledq\metabase_data\metabase\oracledq\Data\customer_master.csv
</DATA_FILE_NAME> <DDL_FILE_NAME>$(DDL)/e1_customer_master.ddx</DDL_FILE_NAME> <FILE_DELIMITER>,
</FILE_DELIMITER> <USE_QUOTES_AS_QUALIFIER/> <START_RECORD>2
</START_RECORD>
変更内容を保存し、設定ファイルを閉じます。
/settings
ディレクトリで、出力(クレンジング済)データを生成するプロセスの設定に対応するファイルを開きます。通常、データ・リコンストラクタ・プロセスで終了するクレンジング・プロジェクトの場合、名前にeNN_datarec_pXX.stx
が付きます。設定ファイル内で次の値を変更して、生成される出力ファイルのフルパスを指定します。
<CATEGORY><OUTPUT><PARAMETER>
<OUTPUT_SETTINGS>
<ARGUMENTS>
<FILE_QUALIFIER>OUTPUT</FILE_QUALIFIER>
<DATA_FILE_NAME>C:\oracle\oracledq\metabase_data\metabase\oracledq\Data\customer_master_cleansed.csv
</DATA_FILE_NAME>
<DDL_FILE_NAME>$(DDL)/e36_us_datarec_p11.ddx</DDL_FILE_NAME>
変更内容を保存し、設定ファイルを閉じます。
有効な出力ファイルを生成するデータ品質プロセスが複数ある場合(たとえば、国ごとに1つのデータ・リコンストラクタ)。プロセスごとに前述の2つの手順を繰り返します。
品質プロセスに入力データを提供し、その出力データをData Integratorの統合プロセスで使用するには、これらのエンティティをリバースエンジニアリングする必要があります。この操作は、Oracle Data Quality RKMに基づいてカスタマイズされたリバースエンジニアリング・メソッドを使用して実行します。RKMは、データ品質プロジェクトの/ddl
フォルダにある.ddx
ファイルからメタデータを読み取ります。
データ品質プロジェクトのエンティティをリバースエンジニアリングするには:
RKM Oracle Data QualityをOracle Data Integratorプロジェクトにインポートします。
トポロジ・マネージャで、ファイル・テクノロジの物理スキーマを挿入します。ディレクトリ(スキーマ)とディレクトリ(作業スキーマ)の両方に、データ・フォルダの絶対パスを指定します。たとえば、C:\oracle\oracledq\metabase_data\metabase\oracledq\projectN\data
のように指定します。
このディレクトリには、変換の実行に使用されるエージェントからアクセスできる必要があります。Oracle Data Integratorは、スキーマでインタフェースのソースおよびターゲット・データ構造を調べます。RKMは出力データ・ファイルにアクセスし、それをリバースエンジニアリングします。
ファイル・モデルを作成し、/ddl
フォルダをリバースエンジニアリングします。
デザイナ・ナビゲータで、「モデル」パネルを展開します。
右クリックして「新規モデル」を選択します。
「定義」タブで、次の各フィールドに値を入力します。
名前: ユーザー・インタフェースで使用するモデルの名前。
テクノロジ: ファイル
論理スキーマ: モデルの基礎となる論理スキーマを選択します。
「リバース」タブで次のように選択します。
パラメータ | 値/操作 |
---|---|
リバース |
カスタマイズ済 |
コンテキスト |
リバースエンジニアリング・コンテキスト |
リバースエンジニアリングするオブジェクトの型 |
表 |
KM |
RKM Oracle Data Qualityの選択 |
表16-1で示すように、RKMオプションを設定します。
表16-1 RKM Oracle Data QualityのKMオプション
パラメータ | デフォルト値 | 説明 |
---|---|---|
DDX_FILE_NAME |
|
処理するDDXファイル用のマスク。品質プロジェクトで使用するエンティティに対して命名規則を使用している場合は、これらのエンティティのみを戻すマスクを入力します。たとえば、入力および出力エンティティに対してODI_IN_XXおよびODI_OUT_XX命名規則を使用した場合は、ODI*_csv.ddxマスクを指定します。 |
USE_FRIENDLY_NAMES |
|
リバースエンジニアリング・プロセスで、DDXファイルに指定されたフィールド名に基づいてデータストアの列に対してユーザーにわかりやすい名前を生成する場合は、このオプションを「はい」に設定します。 |
USE_LOG |
|
リバースエンジニアリング・プロセスのアクティビティをログ・ファイルに記録する場合は「はい」に設定します。 |
LOG_FILE_NAME |
|
ログ・ファイルの名前。 |
「適用」をクリックします。これでモデルは作成されましたが、データストアはまだ格納されていません。
「リバース」をクリックします。これでモデルにデータストアが格納され、「モデル」ビューで表示できます。
Oracle Data Integratorで、データ品質の入力および出力ファイルをソースまたはターゲットとして使用するインタフェースを作成できます。
たとえば、次のことができます:
データストアを使用して様々なソースから入力ファイルをロードするインタフェースの作成
クレンジング後に出力データを元のソースに再統合するインタフェースの作成
OdiDataQualityツールは、Oracle Data Qualityプロジェクトを実行するバッチ・ファイルを実行します。このツールは、runprojectNスクリプト・ファイルのパスをパラメータとして使用します。同期モード(ツールが品質プロセスの完了を待機)または非同期モードで実行できます。
OdiDataQualityツールとそのパラメータの詳細は、A.5.3項「OdiDataQuality」を参照してください。
次のプロセスを順序付けして、Oracle Data Integratorでパッケージを作成します。
1つ以上のインタフェースによる、クレンジングするデータを含む品質入力ファイルの作成
OdiDataQualityツール・ステップによる、Oracle Data Qualityプロセスの起動
1つ以上のインタフェースによる、Oracle Data Quality出力ファイルからターゲット・データストアへのデータのロード