掃描資料品質問題

本文件說明如何搭配使用 BigQuery 和 Dataplex 通用目錄,確保資料符合您的品質期望。您可以使用 Dataplex Universal Catalog 自動資料品質功能,定義並評估 BigQuery 資料表中的資料品質。您可以自動掃描資料、根據定義的規則驗證資料,並在資料不符合品質規定時記錄警示。

如要進一步瞭解自動資料品質,請參閱「自動資料品質總覽」。

事前準備

  • 如要在專案中建立及修改掃描作業:啟用 Dataplex API。

    啟用 Dataplex API

  • 跨專案掃描:使用 gcloud beta services identity create 指令建立 Dataplex Universal Catalog 服務 ID。如果不存在 Dataplex Universal Catalog 服務 ID,這個指令會傳回新的 ID。如果服務 ID 已存在,則指令會傳回現有的 ID。這個指令可能會提示您安裝 gcloud CLI Beta 版指令元件。

    gcloud beta services identity create
    --service=dataplex.googleapis.com
    

必要的角色

請管理員根據帳戶管理員需要存取的用途,將下列角色授予適當的帳戶管理員。如要進一步瞭解如何授予角色,請參閱「管理存取權」。

BigQuery 角色

  • 資料表的 BigQuery 資料檢視器,可在該資料表上建立掃描作業,但不會發布結果。
  • 如要將掃描結果發布為 Dataplex 通用目錄中繼資料,請在資料表上設定 BigQuery 資料編輯者權限,以及在與資料表相同位置的 @bigquery 項目群組上設定 dataplex.entryGroups.useDataQualityScorecardAspect 權限。或者,您必須獲得 @bigquery 項目群組的 Dataplex Catalog Editor 角色,該項目群組必須位於與資料表相同的位置。
  • 如果 BigQuery 資料表和資料品質掃描作業位於不同的專案中,您必須為對應的 BigQuery 資料表授予 Dataplex Universal Catalog 服務帳戶讀取權限 bigquery.tables.getData (或 BigQuery 資料檢視者 角色)。如要取得服務帳戶的服務身分,請參閱事前準備
  • 如果您要掃描 Cloud Storage 中的 BigQuery 外部資料表,請將 Cloud Storage 角色 (roles/storage.objectViewer) 指派給 Dataplex Universal Catalog 服務帳戶。

Dataplex Universal Catalog 角色

  • 專案層級的 Dataplex DataScan 管理員 - 用於建立掃描作業。
  • 掃描作業的 Dataplex DataScan 編輯器:編輯掃描作業的任何屬性 (除了權限)、執行掃描作業,以及刪除掃描作業。
  • Dataplex DataScan 資料檢視器,查看掃描結果。

這些角色包含先前用途所需的權限。如要查看確切的必要權限,請展開「必要權限」部分。

所需權限

您必須具備下列權限,才能使用資料品質掃描的各項功能:

  • 如要變更資料掃描的設定,請按照下列步驟操作: dataplex.datascans.update - 在資料掃描資源上
  • 如要變更資料掃描的政策,請按照下列步驟操作: dataplex.datascans.setIamPolicy - 在資料掃描資源上
  • 如要在 BigQuery 資料表上建立資料掃描作業,請按照下列步驟操作: bigquery.tables.getData - 要掃描的資料表
  • 如要在專案中建立資料掃描作業,請按照下列步驟操作:dataplex.datascans.create - 在專案中
  • 如要刪除資料掃描作業,請按照下列步驟操作:dataplex.datascans.delete - 在資料掃描資源上
  • 如要將資料掃描結果匯出至 BigQuery 資料集,請使用以下參數: bigquery.datasets.getbigquery.tables.createbigquery.tables.getbigquery.tables.updatebigquery.tables.updateData - 目的地資料集
  • 如要將資料掃描結果發布為 Dataplex Universal Catalog 中繼資料,您必須具備下列任一組權限:

    • bigquery.tables.getbigquery.tables.updatebigquery.tables.updateDatabigquery.tables.delete - 在目的地資料表中。此外,dataplex.entryGroups.useDataQualityScorecardAspect - 在 @bigquery 項目群組
    • dataplex.entries.updatedataplex.entryGroups.useDataQualityScorecardAspect - 在 @bigquery 項目群組中
  • 如要執行資料掃描作業,請在資料掃描資源上執行 dataplex.datascans.run
  • 如要掃描 Cloud Storage 中的外部資料表,請使用: storage.buckets.getstorage.objects.get - 包含要掃描的資料表的值區
  • 如要查看資料掃描結果,請按照下列步驟操作: dataplex.datascans.getData - 在資料掃描資源上
  • 如要查看資料掃描結果,請在 DataScan 資源上執行 dataplex.datascans.get
  • 如要查看資料掃描結果,請在 DataScan 資源上執行 dataplex.datascans.list

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

建立資料品質掃描作業

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中,點選要掃描資料品質的資料表。

  3. 按一下「資料品質」分頁標籤。

  4. 依序點選「資料品質掃描」>「建立新掃描作業」

  5. 選用:編輯下列值:

    • 顯示名稱:主控台中可變更的資源名稱。
    • ID:掃描作業的專屬 ID。掃描建立後即無法變更。
    • 說明:掃描作業的說明。
    • 區域:定義資料掃描作業的處理區域。
    • 範圍:可供掃描的資料範圍。選取「增量」或「整筆資料」。如果您選擇「增量」,建議您加入以線性方式遞增的 DATETIMESTAMP 欄。這個欄可用來識別新記錄。如果資料表是以 DATETIMESTAMP 型別的資料欄進行分區,建議您將分區欄用做時間戳記欄位。
    • 篩選器:在掃描執行前套用至資料的篩選器。如要篩選資料列,請選取「Filter rows」核取方塊,然後在輸入文字欄位中輸入有效的 SQL 運算式。運算式必須使用 BigQuery 標準 SQL 語法,且可用於 WHERE 子句
    • 取樣大小:您要取樣的資料百分比。對於增量資料掃描,系統只會抽樣最新的增量資料。
    • 將結果發布至 BigQuery 和 Dataplex Catalog:這個選項會將資料品質掃描的最新結果儲存為Dataplex 通用目錄中繼資料,用於代表來源資料表的項目。您可以在 BigQuery 中查看結果,方法是前往來源資料表的「資料品質」分頁。
    • 排程:可選擇「按需求」 (預設) 或「重複」。如果選取「重複」,請指定預定掃描作業的頻率,例如「每日」、「每週」、「每月」或「自訂」。自訂排程會使用 cron 時間格式指定排程。舉例來說,如果掃描作業設定為在每月第二個星期二上午 1 點執行,其格式會像這樣:0 1 8-14 * 2
  6. 如要繼續顯示資料品質規則設定,請按一下「繼續」

  7. 按一下「新增規則」,然後視需要新增一或多個下列規則。您也可以使用 「移除」刪除規則。

    • 依據設定檔提供的建議
    • 內建規則類型
    • SQL 資料列檢查規則
    • SQL 匯總檢查規則
  8. 選用步驟:如要繼續瀏覽面板並查看其他選用設定,請按一下「繼續」,然後編輯下列值:

    • 將掃描結果匯出至 BigQuery 資料表:選取 BigQuery 資料集和資料表,以儲存品質掃描的結果。如果已定義資料集,但未定義資料表,Dataplex Universal Catalog 會為您建立資料表。以這種方式建立的資料表可能會產生儲存空間費用
    • 標籤:為掃描結果新增標籤
  9. 視需要點選下列其中一個按鈕:

    • 如要儲存掃描設定,請按一下「建立」
    • 如要儲存並執行掃描作業,請按一下「執行」

管理資料品質掃描權限

如要變更現有品質掃描的存取權限,請按照下列步驟操作:

  1. 前往 BigQuery 頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中,選取要掃描資料品質的資料表。

  3. 按一下「資料品質」分頁標籤。

  4. 依序點選「資料品質掃描」>「管理掃描權限」。系統會在新分頁中開啟 Dataplex Universal Catalog。

  5. 按一下「Permissions」(權限) 分頁標籤。

    • 如要將存取權授予主體,請按一下 「授予存取權」,然後將「Dataplex DataScan DataViewer」授予相關主體。
    • 如要從主體移除存取權,請按一下 「移除存取權」,然後從相關主體移除 Dataplex DataScan DataViewer

編輯現有的資料品質掃描作業

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中,選取要掃描的資料品質資料表。

  3. 依序按一下「資料品質掃描」>「編輯掃描設定」

這會開啟資料品質掃描設定,您可以修改並儲存這些設定,以利日後的掃描作業。

查看資料品質掃描結果

您可以透過多種方式查看資料品質掃描結果。請選取最符合需求的選項。

查看已發布的結果

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中,選取要掃描資料品質的資料表。

  3. 按一下「資料品質」分頁標籤。

這個檢視畫面會顯示最近發布的結果。

查看歷來掃描結果

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中,選取要掃描資料品質的資料表。

  3. 按一下「資料品質」分頁標籤。

  4. 依序點選「資料品質掃描」>「查看歷來結果」

查看資料表中的所有資料品質掃描

如要開啟 Dataplex Universal Catalog,並查看特定資料表的掃描記錄,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中,選取要掃描資料品質的資料表。

  3. 依序按一下「資料品質掃描」>「查看所有掃描」