3

私はデータ ウェアハウスに取り組んでおり、データ クレンジング (正規化) データベースからのデータがデータ マートに正しく組み込まれていることを確認する最善の方法を見つけようとしています。私はいくつかの検索を行いましたが、これまでの結果は、制約のようなものを確実に配置し、ETL プロセス中にデータの検証を行う必要があることを示しています (たとえば、日付が有効であるなど)。主キーを利用するか、非常に単純で検証可能なクエリを記述してデータを取得することが簡単にできたので、ディメンションは非常に簡単でした。ファクト テーブルはより複雑です。

何かご意見は?主題のエクスポートでいくつかのクエリを実行し、データ クレンジング データベースとデータ マートの両方からいくつかのデータを確認し、2 つを視覚的に比較してそれらが正しいことを確認できるように、これを非常に簡単にしようとしています。

4

2 に答える 2

4

ファクト テーブルのロードをテストするには、同じデータ操作の簡略化されたサブセットを別の場所で実装し、結果を比較します。

同じ合計、カウント、またはその他の数値を少なくとも 2 回計算します。ロードが完了した後にファクト テーブル自体から 1 回、他のソースから 1 回:

  • ソース データとファクトの間のすべてのスクラブ ステップを制御して、ソース データを直接
  • 正しいことがわかっているソース システム レポート

データベースでこれを行う場合、すべてが正しい場合にレコードを返さないクエリとして各テストを作成できます。返されるレコードはすべて例外です。(y,z) による x のカウントは一致しません。

その他の推奨事項については、ConcernedOfTunbridgeWells によるこの優れた投稿を参照してください。

于 2010-03-11T05:55:48.120 に答える
0

多くのクレンジングまたは変換を行う場合、いくつかの欠点と潜在的な問題がありますが、スタースキーマから入力ファイルを再生成することにより、入力ファイルをラウンドトリップできることがわかりました。次に、入力ファイルを出力ファイルと単純に比較します。それらを一致させるには、マッサージが必要になる場合があります(1つは左にパッド、もう1つは右にパッド)。

通常、私は、ETL が使用したのと同じレイアウトを使用し、フィールド内の位置合わせを無視して比較を行うプログラムを持っていました。また、ファイルをソートする必要がある場合もあります。私が使用したコマンドラインソートがあります。

ETL が正しく変換せず、正しく変換しない場合でも、この方法では DW のすべての問題が表示されない可能性があり、完全にカバーされているとは言えませんが、回帰の最初の打撃としてはかなり優れています。各負荷の単体テスト。

于 2010-03-22T03:21:54.863 に答える