0 / 0
資料の 英語版 に戻る
データ品質の評価
最終更新: 2024年12月13日
データ品質の評価

データの品質が高いかどうかを判別するには、データがどの程度期待に合っているかを確認し、データの異常を特定します。 データの品質を評価することにより、 データの構造と内容を理解することができます。

データ品質ルールを実行して、定義された条件に基づいてデータを評価します。 ルールのタイプによって、データの取得元が決まります。

  • データ品質定義から作成されるルール

    DataStageでサポートされている任意のコネクターからのデータ資産に対して、外部管理バインディングを使用して複雑なルールを実行できます。 DataStage コネクターを参照してください。

    データを直接バインドする単純なルールでは、 サポートされるコネクター にリストされている接続がサポートされます。

    さらに、ローカル・ファイル・システムからアップロードされた CSV 形式のファイルからのデータ資産、またはデータ・ソースへのファイル・ベースの接続からのデータ資産を処理できます。

  • SQL ベースのルール

    サポートされるデータベース・タイプについては、 サポートされるコネクターを参照してください。

外部バインディングを持つデータ品質ルールまたは SQL ベースのデータ品質ルールをアセットまたは列のデータ品質スコアに寄与させるには、そのアセットまたは列を対応するルールの関連項目として追加します。 Validates data quality ofリレーションシップ・タイプを使用します。

必須のサービス

IBM Knowledge Catalog
DataStageまたはDataStage as a Service Anywhere'
DataStage,を使用すると、サポートされている地域でデータ品質ルールを実行できます。 DataStage as a Service Anywhereを使用すると、リモート・エンジンを使用してIBM Cloudの外部でデータ品質ルールを実行できます。 リモートエンジンの設定については、DataStage as a Service Anywhereのドキュメントを参照してください。

必要な権限

データ品質ルールを実行するには、プロジェクト内で 管理者 役割または 編集者 役割を持っている必要があります。 さらに、 「データ品質ルールの実行」 ユーザー権限 も必要です。また、チェック対象のデータ資産のデータ・ソースへの接続にアクセスする権限が必要です。

ルールの実行履歴またはデータ品質ページからデータ品質の問題の原因となったデータ (出力テーブル) を表示するには、問題の詳細までドリルダウンする ユーザー権限が必要です。 しかし、出力テーブル用に作成されたプロジェクト内のデータ資産は、接続にアクセスできる人なら誰でもアクセスできる。 このデータ資産へのアクセスを制限するには、出力テーブルが保存されているデータ・ソースへの接続を個人認証情報で設定する必要があります。

ユーザー・インターフェースの代わりに API を使用して、以下のタスクを実行することもできます。 これらの API へのリンクは、 詳細情報 セクションにリストされています。

データ品質ルールの実行

データ品質ルールを実行するには、 DataStage フローと、その後の DataStage ジョブが必要です。 資産内から初めてルールを実行すると、デフォルトのジョブ設定を持つジョブが自動的に作成されます。 デフォルト名 DataStage flow of data rule <rulename>.DataStage job の DataStage ジョブがプロジェクトに追加されます。

最初の実行後に、必要に応じてジョブ設定を変更して、スケジュールされた実行をセットアップすることができます。 あるいは、ジョブが終了する前に許容される警告の数 (デフォルトでは 100) を調整することもできます。 ジョブ設定を変更するには、ジョブの詳細ページに移動し、ツールバーの鉛筆アイコンをクリックします。 ルールの実行履歴またはプロジェクトの 「ジョブ」 ページでジョブ名をクリックすると、ジョブの詳細ページを表示できます。

また、プロジェクト内のルールのオーバーフロー・メニューから、または資産を開いたときに資産名の横にあるオーバーフロー・メニューから、ルール用の追加の DataStage ジョブを手動で作成することもできます。 データ品質ルールを実行するためのジョブの作成を参照してください。

ルールを手動で実行する前にルールがまだ有効であることを確認するには、オーバーフロー・メニューから 「検証」 を選択してルールの状況を確認します。

以下のいずれかの方法でルールを実行できます。

  • データ品質ルールを開き、 「ルールの実行」をクリックします。 このオプションは、関連付けられた DataStage ジョブを作成するルールの初回実行に使用します。
  • プロジェクトのルールオーバーフローメニューから実行を選択する。
  • プロジェクトのジョブページに行き、ジョブの詳細を開き、アクションバーの実行アイコン'実行アイコンをクリックしてジョブを実行します。

また、ルールを実行するための繰り返しスケジュールを使用してジョブをセットアップすることにより、品質チェックを自動化することもできます。

ルールは IBM Cloud 資格情報を使用して実行されます。 通常、このような長時間実行操作を中断することなく実行するには、個人用の IBM Cloud API キーが使用されます。 ジョブの作成時に資格情報が使用できない場合は、API キーを作成するように求めるプロンプトが出されます。 その後、その API キーがタスク資格情報として保存されます。

グループ化ルール

特定のデータ品質ルールを 1 つの DataStage フローにグループ化して実行できます:

  • データ品質ルールはデータ品質定義から作成されなければならない。

  • ルール変数は、プロジェクト内の1つのデータ・アセットにバインドする必要があります:

    • 以下のファイル・ストレージ・コネクタのいずれかからの単一ファイル:Amazon S3、Apache HDFS、AzureData Lake Storage、Google Cloud Storageのいずれか
    • ローカルファイルシステムからアップロードされたファイル
    • 単一のリレーショナル・データ資産

グループ化した個々のデータ品質ルールの構成によっては、ルールの実行に複数回のデータ通過が必要になる場合があります。

複数のデータ資産にバインドされているデータ品質ルールをグループ化することはできません。

以下のAPIコールを使用して、実行ルールをグループ化できます:

POST /data_quality/v3/projects/{project_id}/execute_rules

このAPIコールには以下のパラメータが必要である:

project_id

ルールを含むプロジェクトのID

要求本文

以下の形式のペイロード:

{
  "rules": [
    {
      "id": "<rule1_id>"
    },
    {
      "id": "<rule2_id>"
    }
  ]
}

データ品質ルールにおける処理のプッシュダウン

データ品質ルール処理の特定の側面をデータ ソースにプッシュダウンして、ソースから転送されるデータの量を減らし、処理を高速化することができます。 列の選択、異なるデータ資産間の結合の作成、およびサンプリングは、リレーショナル データベース管理システム (RDBMS) を使用してデータ ソースにプッシュダウンされます。つまり、SQL クエリがサポートされます。 ファイルベースのデータ ソースの場合、処理はプッシュダウンされません。 SQL ベースのデータ品質ルールは常にデータ ソースで実行されます。

DataStage as a Service Anywhereを使用すると、リモート・エンジンを使用してIBM Cloudの外部でデータ品質ルールを実行できます。 リモートエンジンの設定については、DataStage as a Service Anywhereのドキュメントを参照してください。

列の選択

RDBMSデータソースの場合、次のようなSQL SELECT文がselect colA, colB from schema1.table1データ ソース上で実行され、テーブルから必要な列のみを取得します。 このようなクエリは、ファイル ストレージ接続からのデータ資産に対して実行することはできません。 このようなファイルの場合、すべての列が取得され、DataStage変更ステージは列をフィルタリングするために使用されます。

結合

データ品質ルールに複数のデータ アセットにバインドされた 2 つ以上の変数がある場合、これらのデータ アセットは特定の列で結合する必要があります。

RDBMSデータソースの場合、次のようなJOIN句を含むSQL SELECT文SELECT col1, col2 FROM schema1.table1 INNER JOIN schema1.table2 ON table1.id = table2.idデータ ソース上で実行されます。 このクエリでは、データ資産の結合がデータ ソースで実行されます。 一部の RDBMS データ ソースでは、JOIN 処理がまったくサポートされていないか、特定の種類の JOIN 句のみがサポートされています。 例えば、 Google BigQueryJOIN 句をまったくサポートしていません。

結合を使用したデータ品質ルールの結果は、JOIN処理中にNULLや空文字列などの値がRDBMSデータソースによってどのように処理されるかにも依存する。

ファイルストレージ接続からのデータ資産の場合、各データ資産からすべてのレコードが取得され、DataStage結合ステージは、データ資産を結合するために使用されます。

サンプリング

RDBMS データ ソースの場合、データ ソースでランダム サンプリングとシーケンシャル サンプリングが実行されます。 順次サンプリングの場合、FETCH FIRST や LIMIT など、レコードを選択するための RDBMS 固有の句が SQL ステートメントに追加されます。

ファイルストレージ接続からのデータ資産の場合、すべてのレコードが取得され、DataStageサンプル ステージはサンプルを作成するために使用されます。

実行履歴の確認

データ・ルールを実行するたびに、実行レコードが作成されます。 これらの実行レコードはルールの実行履歴にリストされるため、実行ごとに結果がどのように変更されたかを確認できます。 実行レコードを表示するには、データ品質ルールを開き、 「実行履歴」 タブに移動します。 各実行レコードは、以下の情報を提供します。

  • ハイパーリンクとして実行されるルールの開始時刻。 リンクをクリックして、ジョブ実行小売にアクセスします。
  • ハイパーリンクとしての対応する DataStage ジョブの名前。 ジョブの詳細にアクセスするには、リンクをクリックします。
  • 実行の状況。
  • データ品質定義から作成されたルールの場合:
    • テストされたレコードの数。
    • レコードの数と、ルールを満たしたテスト済みレコードのパーセンテージ。
    • ルールを満たしていないレコードの数と、テストされたレコードのパーセンテージ。
  • SQL ベースの規則の場合:
    • 「ルールが満たされていません (Rule not met)」 列内の select ステートメントによって返されたレコード数。

すべての実行レコードが保存され、削除するまで保管されます。 スペースを節約するために、定期的に実行履歴をクリーンアップすることを検討してください。 選択した実行レコードまたはすべての実行レコードを一度に削除できます。 実行レコードを削除すると、対応するジョブ実行の詳細も削除されます。

ルール出力表の確認

ルールに対して出力表が定義されている場合、ルール出力は、構成されたとおりにデータベース表に書き込まれます。 「 データ品質定義からのルールの作成 」または「 SQL ベースのルールの作成」の出力設定を構成するためのステップを参照してください。

出力表は、データ資産としてプロジェクトにも追加されます。 出力表には、以下のいずれかの方法でアクセスできます。

  • ルールの実行履歴に移動し、 「出力表の表示」をクリックします。 ルール出力を CSV ファイルとしてダウンロードできます。例えば、多数のレコードを含む出力を検索またはフィルタリングする場合に、スプレッドシート・プログラムで使用できます。 出力ページには、プロジェクト内の対応するデータ資産へのリンクも表示されます。
  • プロジェクトの出力表を開きます。 ルールで定義されている出力表と同じ名前のデータ資産を検索します。
  • ネイティブ・データベース照会を使用して、データベース内の表にアクセスします。

もっと見る

親トピック: データ品質の管理

生成 AI の検索と回答
これらの回答は、製品資料の内容に基づいて、 watsonx.ai のラージ言語モデルによって生成されます。 詳細