Amazon DataZone のデータ品質 - Amazon DataZone

Amazon DataZone のデータ品質

Amazon DataZone のデータ品質メトリクスは、データソースの完全性、適時性、精度など、さまざまな品質メトリクスを理解するのに役立ちます。Amazon DataZone は AWS Glue Data Quality と統合し、サードパーティーのデータ品質ソリューションのデータ品質メトリクスを統合する API を提供します。データユーザーは、サブスクライブしているアセットのデータ品質メトリクスが時間の経過とともにどのように変化するかを確認できます。データ品質ルールを作成および実行するには、AWS Glue Data Quality などの任意のデータ品質ツールを使用できます。Amazon DataZone のデータ品質メトリクスを使用すると、データコンシューマーはアセットと列のデータ品質スコアを視覚化できるため、意思決定に使用するデータの信頼性を構築できます。

前提条件と IAM ロールの変更

Amazon DataZone の AWS マネージドポリシーを使用している場合、追加の設定手順はなく、これらのマネージドポリシーは自動的に更新され、データ品質がサポートされます。サポートされているサービスと相互運用するために必要なアクセス許可を Amazon DataZone に付与するロールに独自のポリシーを使用している場合は、これらのロールにアタッチされているポリシーを更新して、AWS マネージドポリシー: AmazonDataZoneGlueManageAccessRolePolicy で AWS Glue Data Quality 情報を読み取るためのサポートを有効にし、AWS マネージドポリシー: AmazonDataZoneDomainExecutionRolePolicyAWS マネージドポリシー: AmazonDataZoneFullUserAccess で時系列 API のサポートを有効にする必要があります。

AWS Glue アセットのデータ品質の有効化

Amazon DataZone は、ビジネスデータカタログ検索中など、特定の時点にコンテキストを提供するために、データ品質メトリクスを AWS Glue から取得します。データユーザーは、サブスクライブしているアセットのデータ品質メトリクスが時間の経過とともにどのように変化するかを確認できます。データプロデューサーは、スケジュールに従って AWS Glue Data Quality のスコアを取り込むことができます。Amazon DataZone ビジネスデータカタログには、データ品質 API を介してサードパーティーシステムからのデータ品質メトリクスを表示することもできます。詳細については、「AWS Glue データ品質」および「データカタログの AWS Glue データ品質の使用を開始する」を参照してください。

Amazon DataZone アセットのデータ品質メトリクスは、次の方法で有効にできます。

  • データポータルまたは Amazon DataZone API を使用して、既存の AWS Glue データソースの編集や新規作成中に、Amazon DataZone データポータルを介して AWS Glue データソースのデータ品質を有効にします。

    ポータル経由でデータソースのデータ品質を有効にする方法の詳細については、「AWS Glue Data Catalog の Amazon DataZone データソースを作成して実行する」を参照してください。

    注記

    データポータルを使用して、AWS Glue インベントリアセットのデータ品質のみを有効にできます。このリリースでは、データポータルを介して Amazon Redshift またはカスタムタイプのアセットのデータ品質を有効にする Amazon DataZone はサポートされていません。

    API を使用して、新規または既存のデータソースのデータ品質を有効にすることもできます。これを行うには、CreateDataSource または UpdateDataSource を呼び出し、autoImportDataQualityResult パラメータを [True] に設定します。

    データ品質を有効にしたら、オンデマンドまたはスケジュールに従ってデータソースを実行できます。各実行では、アセットごとに最大 100 個のメトリクスを取得できます。データソースをデータ品質に使用する場合に、フォームを作成したり、メトリクスを手動で追加したりする必要はありません。アセットが公開されると、データ品質フォームに対して行われた更新 (履歴ルールごとに最大 30 個データポイント) がコンシューマーのリストに反映されます。その後、アセットにメトリクスが新しく追加されるたびに、自動的にリストに追加されます。コンシューマーが最新のスコアを使用できるように、アセットを再公開する必要はありません。

カスタムアセットタイプのデータ品質の有効化

Amazon DataZone API を使用して、任意のカスタムタイプのアセットのデータ品質を有効にできます。詳細については次を参照してください:

次の手順では、API または CLI を使用して Amazon DataZone のアセットのサードパーティーメトリクスをインポートする例を示します。

  1. PostTimeSeriesDataPoints API を次のように呼び出します。

    aws datazone post-time-series-data-points \ --cli-input-json file://createTimeSeriesPayload.json \

    次のペイロードを使用します。

    "domainId": "dzd_5oo7xzoqltu8mf", "entityId": "4wyh64k2n8czaf", "entityType": "ASSET", "form": { "content": "{\n \"evaluations\" : [ {\n \"types\" : [ \"MaximumLength\" ],\n \"description\" : \"ColumnLength \\\"ShippingCountry\\\" <= 6\",\n \"details\" : { },\n \"applicableFields\" : [ \"ShippingCountry\" ],\n \"status\" : \"PASS\"\n }, {\n \"types\" : [ \"MaximumLength\" ],\n \"description\" : \"ColumnLength \\\"ShippingState\\\" <= 2\",\n \"details\" : { },\n \"applicableFields\" : [ \"ShippingState\" ],\n \"status\" : \"PASS\"\n }, {\n \"types\" : [ \"MaximumLength\" ],\n \"description\" : \"ColumnLength \\\"ShippingCity\\\" <= 8\",\n \"details\" : { },\n \"applicableFields\" : [ \"ShippingCity\" ],\n \"status\" : \"PASS\"\n }, {\n \"types\" : [ \"Completeness\" ],\n \"description\" : \"Completeness \\\"ShippingStreet\\\" >= 0.59\",\n \"details\" : { },\n \"applicableFields\" : [ \"ShippingStreet\" ],\n \"status\" : \"PASS\"\n }, {\n \"types\" : [ \"MaximumLength\" ],\n \"description\" : \"ColumnLength \\\"ShippingStreet\\\" <= 101\",\n \"details\" : { },\n \"applicableFields\" : [ \"ShippingStreet\" ],\n \"status\" : \"PASS\"\n }, {\n \"types\" : [ \"MaximumLength\" ],\n \"description\" : \"ColumnLength \\\"BillingCountry\\\" <= 6\",\n \"details\" : { },\n \"applicableFields\" : [ \"BillingCountry\" ],\n \"status\" : \"PASS\"\n }, {\n \"types\" : [ \"Completeness\" ],\n \"description\" : \"Completeness \\\"biLlingcountry\\\" >= 0.5\",\n \"details\" : {\n \"EVALUATION_MESSAGE\" : \"Value: 0.26666666666666666 does not meet the constraint requirement!\"\n },\n \"applicableFields\" : [ \"biLlingcountry\" ],\n \"status\" : \"FAIL\"\n }, {\n \"types\" : [ \"Completeness\" ],\n \"description\" : \"Completeness \\\"Billingstreet\\\" >= 0.5\",\n \"details\" : { },\n \"applicableFields\" : [ \"Billingstreet\" ],\n \"status\" : \"PASS\"\n } ],\n \"passingPercentage\" : 88.0,\n \"evaluationsCount\" : 8\n}", "formName": "shortschemaruleset", "id": "athp9dyw75gzhj", "timestamp": 1.71700477757E9, "typeIdentifier": "amazon.datazone.DataQualityResultFormType", "typeRevision": "8" }, "formName": "shortschemaruleset" }

    このペイロードを取得するには、GetFormType アクションを呼び出します。

    aws datazone get-form-type --domain-identifier <your_domain_id> --form-type-identifier amazon.datazone.DataQualityResultFormType --region <domain_region> --output text --query 'model.smithy'
  2. DeleteTimeSeriesDataPoints API を次のように呼び出します。

    aws datazone delete-time-series-data-points\ --domain-identifier dzd_bqqlk3nz21zp2f \ --entity-identifier dzd_bqqlk3nz21zp2f \ --entity-type ASSET \ --form-name rulesET1 \