掃描資料品質問題
Knowledge Catalog 的自動資料品質功能可讓您定義及評估 BigQuery 資料表的資料品質。您可以自動掃描資料、根據定義的規則驗證資料,並在資料不符合品質要求時記錄警告。
您可以管理整個專案的資料品質掃描作業,或管理特定資料表的資料品質掃描作業。如要進一步瞭解自動資料品質,請參閱「自動資料品質總覽」。
事前準備
-
啟用 Dataplex API (如果尚未啟用)。
啟用 API 所需的角色
您必須具備
serviceusage.services.enable權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「Service Usage 管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。 - 選用:如要讓 Knowledge Catalog 根據資料剖析掃描結果,產生資料品質規則建議,請建立並執行資料剖析掃描。
必要的角色
本節說明使用 Knowledge Catalog 資料品質掃描作業所需的 IAM 角色和權限。
使用者角色和權限
如要取得執行及管理資料品質掃描作業所需的權限,請要求管理員授予您下列 IAM 角色:
-
對 BigQuery 資料表執行資料品質掃描:
- 專案的 BigQuery 工作使用者 (
roles/bigquery.jobUser),用於執行掃描工作 - 要掃描的 BigQuery 資料表 BigQuery 資料檢視者 (
roles/bigquery.dataViewer)
- 專案的 BigQuery 工作使用者 (
-
將資料品質掃描結果發布至 Knowledge Catalog:
- 掃描資料表的 BigQuery 資料編輯者 (
roles/bigquery.dataEditor) - 在與資料表相同位置的
@bigquery項目群組上,具備 Dataplex Catalog 編輯者 (roles/dataplex.catalogEditor) 角色
- 掃描資料表的 BigQuery 資料編輯者 (
-
對
DataScan資源執行特定工作:- 專案的 Dataplex DataScan 管理員 (
roles/dataplex.dataScanAdmin),可取得完整存取權 - 專案的 Dataplex DataScan 建立者 (
roles/dataplex.dataScanCreator),可建立掃描作業 - 專案的 Dataplex DataScan 編輯者 (
roles/dataplex.dataScanEditor) 角色,可取得寫入權限 - 專案的 Dataplex DataScan 檢視者 (
roles/dataplex.dataScanViewer),可讀取掃描中繼資料 - 專案的 Dataplex DataScan 資料檢視者 (
roles/dataplex.dataScanDataViewer),可讀取掃描資料,包括規則和結果
- 專案的 Dataplex DataScan 管理員 (
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備執行及管理資料品質掃描作業所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
必須具備下列權限,才能執行及管理資料品質掃描作業:
-
對 BigQuery 資料表執行資料品質掃描:
-
專案的
bigquery.jobs.create,以便執行掃描工作 -
要掃描的 BigQuery 資料表
bigquery.tables.get -
要掃描的 BigQuery 資料表上的
bigquery.tables.getData
-
專案的
-
將資料品質掃描結果發布至 Knowledge Catalog:
-
掃描資料表上的
bigquery.tables.update -
dataplex.entryGroups.useDataQualityScorecardAspect在與資料表位於相同位置的@bigquery項目群組上
-
掃描資料表上的
-
建立
DataScan:dataplex.datascans.create在專案上 -
刪除專案的
DataScan:dataplex.datascans.delete -
查看專案的
DataScan中繼資料:dataplex.datascans.get -
查看「
DataScan」詳細資料,包括規則和結果:dataplex.datascans.getData(位於專案) -
列出專案的
DataScan:dataplex.datascans.list -
對專案執行
DataScan:dataplex.datascans.run -
更新專案的
DataScan:dataplex.datascans.update -
取得或設定
DataScan的 IAM 政策:-
專案的
dataplex.datascans.getIamPolicy -
專案的
dataplex.datascans.setIamPolicy
-
專案的
如需存取受 BigQuery 資料欄層級存取政策保護的資料欄,您也需要這些資料欄的權限。
Knowledge Catalog 服務帳戶角色和權限
如果您尚未建立任何資料品質或資料剖析掃描作業,或這項專案中沒有 Knowledge Catalog 湖泊,請執行下列指令來建立服務 ID:gcloud beta services identity create --service=dataplex.googleapis.com。如果 Knowledge Catalog 服務 ID 存在,這個指令會傳回該 ID。
為確保包含資料品質掃描作業的專案 Knowledge Catalog 服務帳戶具備必要權限,可從各種來源讀取資料及匯出結果,請要求管理員將下列 IAM 角色授予包含資料品質掃描作業的專案 Knowledge Catalog 服務帳戶:
-
讀取 BigQuery 資料表資料:要掃描的資料表和規則中參照的其他資料表,須具備 BigQuery 資料檢視者 (
roles/bigquery.dataViewer) 角色 -
讀取 Iceberg REST 目錄、SAP Business Data Cloud Delta Lake 和 Apache Hive Google Cloud Lakehouse 資料表資料:
BigLake 檢視者 (
roles/biglake.viewer) 對要掃描的各個資料表,以及規則中參照的任何其他資料表 -
將掃描結果匯出至 BigQuery 資料表:結果資料集和資料表的 BigQuery 資料編輯者 (
roles/bigquery.dataEditor) -
掃描 Knowledge Catalog 資料湖中整理的 BigQuery 資料:
- Dataplex 資源的 Dataplex 中繼資料讀取者 (
roles/dataplex.metadataReader) - Dataplex 資源的 Dataplex 檢視者 (
roles/dataplex.viewer)
- Dataplex 資源的 Dataplex 中繼資料讀取者 (
-
從 Cloud Storage 掃描 BigQuery 外部資料表:Cloud Storage bucket 的 Storage 物件檢視者 (
roles/storage.objectViewer)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備從各種來源讀取資料及匯出結果所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要從各種來源讀取資料並匯出結果,必須具備下列權限:
-
讀取 BigQuery 資料表資料:
-
bigquery.tables.getBigQuery 資料表 -
bigquery.tables.getDataBigQuery 資料表
-
-
將掃描結果匯出至 BigQuery 資料表:
-
bigquery.datasets.get結果資料集和資料表 -
bigquery.tables.create結果資料集和資料表 -
bigquery.tables.get結果資料集和資料表 -
bigquery.tables.getData結果資料集和資料表 -
bigquery.tables.update結果資料集和資料表 -
bigquery.tables.updateData結果資料集和資料表
-
-
掃描 Knowledge Catalog 湖泊中整理的 BigQuery 資料:
-
dataplex.lakes.listDataplex 資源 -
dataplex.lakes.getDataplex 資源 -
dataplex.zones.listDataplex 資源 -
dataplex.zones.getDataplex 資源 -
dataplex.entities.listDataplex 資源 -
dataplex.entities.getDataplex 資源 -
dataplex.operations.getDataplex 資源
-
-
掃描 Cloud Storage 中的 BigQuery 外部資料表:
-
Cloud Storage bucket 的
storage.buckets.get -
Cloud Storage bucket 上的
storage.objects.get
-
Cloud Storage bucket 的
管理員或許也能透過自訂角色或其他預先定義的角色,將這些權限授予專案的 Knowledge Catalog 服務帳戶 (該專案包含資料品質掃描作業)。
如要存取受 BigQuery 資料欄層級存取政策保護的資料欄,請為這些資料欄指派 Knowledge Catalog 服務帳戶權限。
如果資料表已啟用 BigQuery 資料列層級存取權政策,則只能掃描 Knowledge Catalog 服務帳戶可查看的資料列。請注意,系統不會針對資料列層級政策評估個別使用者的存取權限。
建立資料品質掃描作業
控制台
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
點選「建立資料品質掃描作業」。
在「Define scan」(定義掃描作業) 視窗中,填寫下列欄位:
(選用) 輸入顯示名稱。
輸入 ID。請參閱資源命名慣例。
選用:輸入說明。
在「Table」(資料表) 欄位中,按一下「Browse」(瀏覽)。選擇要掃描的資料表,然後按一下「Select」(選取)。僅支援標準 BigQuery、Iceberg REST 目錄、SAP BDC Delta 和 Hive on Google CloudLakehouse 資料表。
如果是多區域資料集內的資料表,請選擇要建立資料掃描作業的區域。
如要瀏覽 Knowledge Catalog 湖泊中的資料表,請按一下「Browse within Knowledge Catalog Lakes」(在 Knowledge Catalog 湖泊中瀏覽)。
在「Scope」(範圍) 欄位中,選擇「Incremental」(增量) 或「Entire data」(完整資料)。
- 如果選擇「Incremental」(增量):在「Timestamp column」(時間戳記欄) 欄位中,從 BigQuery 資料表選取
DATE或TIMESTAMP類型的資料欄,這類資料欄會隨著新記錄的加入而遞增,並能用來識別新的記錄。也可以是將資料表分區的資料欄。
- 如果選擇「Incremental」(增量):在「Timestamp column」(時間戳記欄) 欄位中,從 BigQuery 資料表選取
選用:如要篩選資料,請勾選「篩選資料列」核取方塊。提供由有效 SQL 運算式組成的資料列篩選器,該運算式可做為 GoogleSQL 語法中
WHERE子句的一部分。例如:col1 >= 0。篩選器可以由多個資料欄條件組合而成。例如:col1 >= 0 AND col2 < 10。如要對資料進行取樣,請在「Sampling size」(取樣大小) 清單中選取取樣百分比。請選擇介於 0.0% 至 100.0% 之間的百分比值,最多可到小數點後 3 位。如果資料集較大,請選擇較低的取樣百分比。舉例來說,如果資料表大小為 1 PB,您輸入的值介於 0.1% 至 1.0% 之間,資料品質掃描作業就會取樣 1 至 10 TB 的資料。如果是增量資料掃描,資料品質掃描會對最新增量進行取樣。
選用:如要將資料品質掃描結果發布為 Knowledge Catalog 中繼資料,請勾選「Publish results to Knowledge Catalog」(將結果發布至 Knowledge Catalog) 核取方塊。
您可以在來源資料表的 BigQuery 和 Knowledge Catalog 頁面中,透過「Data quality」(資料品質) 分頁查看最新的掃描結果。如要讓使用者存取已發布的掃描結果,請參閱本文的「授予資料品質掃描結果存取權」一節。
如要瞭解「憑證類型」,請參閱「設定執行身分」。
如要使用規則建立資料品質掃描作業,請依序選取 「Rule type」(規則類型)>「Create with entry based rule」(使用項目規則建立)。
在「Schedule」(時間表) 部分,選擇下列其中一個選項:
按一下「繼續」。
在「Data quality rules」(資料品質規則) 視窗中,定義要為這項資料品質掃描作業設定的規則。
按一下「新增規則」,然後選擇下列任一選項。
依據資料剖析結果提供的建議:根據現有資料剖析掃描結果提供的建議,建立規則。
選擇資料欄:選取要取得建議規則的資料欄。
選擇掃描專案:如果資料剖析掃描作業與您建立資料品質掃描作業的專案不同,請選取要從哪個專案提取剖析掃描作業。
選取資料剖析結果:選取一或多個資料剖析結果,然後按一下「OK」。系統會填入建議規則清單,供您做為起點。
勾選要新增的規則,然後按一下「Select」(選取)。選取後,規則會新增至目前的規則清單。接著,您就可以編輯規則。
內建規則類型:根據預先定義的規則建立規則。請參閱預先定義規則清單。
選擇資料欄:選取要套用規則的資料欄。
選擇規則類型:選取要選擇的規則類型,然後按一下「確定」。顯示的規則類型取決於您選取的資料欄。
勾選要新增的規則,然後按一下「Select」(選取)。選取後,規則會新增至目前的規則清單。接著,您就可以編輯規則。
SQL 資料列檢查規則:建立自訂 SQL 規則,並套用至各個資料列。
在「維度」中選擇一個維度。
在「Passing threshold」(通過門檻) 中,選擇必須通過檢查的記錄百分比。
在「Column name」(資料欄名稱) 中選擇資料欄。
在「Provide a SQL expression」(提供 SQL 運算式) 欄位中,輸入評估布林值
true(通過) 或false(失敗) 的 SQL 運算式。詳情請參閱「支援的自訂 SQL 規則類型」,以及「定義資料品質規則」中的範例。按一下「新增」。
SQL 匯總檢查規則:建立自訂 SQL 資料表條件規則。
在「維度」中選擇一個維度。
在「Column name」(資料欄名稱) 中選擇資料欄。
在「Provide a SQL expression」(提供 SQL 運算式) 欄位中,輸入評估布林值
true(通過) 或false(失敗) 的 SQL 運算式。詳情請參閱「支援的自訂 SQL 規則類型」和「定義資料品質規則」中的範例。按一下「新增」。
SQL 斷言規則:建立自訂 SQL 斷言規則,檢查資料是否處於無效狀態。
在「維度」中選擇一個維度。
選用:在「Column name」(資料欄名稱) 中選擇資料欄。
在「Provide a SQL statement」(提供 SQL 陳述式) 欄位中,輸入 SQL 陳述式,傳回符合無效狀態的資料列。如果傳回任何資料列,即代表這項規則失敗。請省略 SQL 陳述式結尾的分號。詳情請參閱「支援的自訂 SQL 規則類型」和「定義資料品質規則」中的範例。
按一下「新增」。
選用:您可以為任何資料品質規則指派自訂規則名稱,用於監控和快訊,以及說明。如要這麼做,請編輯規則並指定下列詳細資料:
- 規則名稱:輸入自訂規則名稱,最多 63 個半形字元。規則名稱可包含英文字母 (a-z、A-Z)、數字 (0-9) 和連字號 (-),且開頭須為英文字母,結尾須為數字或英文字母。
- 說明:輸入規則說明,長度上限為 1,024 個字元。
重複上述步驟,在資料品質掃描作業中新增其他規則。完成後,按一下「繼續」。
選用:將掃描結果匯出至 BigQuery 標準資料表。在「Export scan results to BigQuery table」(將掃描結果匯出至 BigQuery 資料表) 區段中,執行下列操作:
在「選取 BigQuery 資料集」欄位中,按一下「瀏覽」。選取要儲存資料品質掃描結果的 BigQuery 資料集。
在「BigQuery table」(BigQuery 資料表) 欄位中,指定要儲存資料品質掃描結果的資料表。如果使用現有資料表,請確認該資料表與匯出資料表結構定義相容。如果指定的資料表不存在,Knowledge Catalog 會為您建立。
選用:新增標籤。標籤是鍵/值組合,可用來將相關物件分組,或與其他 Google Cloud 資源組合。
選用:設定電子郵件通知報表,提醒使用者資料品質掃描工作的狀態和結果。在「Notification report」(通知報表) 部分,按一下「 Add email ID」(新增電子郵件 ID),然後輸入最多五個電子郵件地址。接著,選取要傳送報表的情境:
- 品質分數 (<=):如果工作成功,但資料品質分數低於指定目標分數,系統就會傳送報表。請輸入 0 到 100 之間的目標品質分數。
- 工作失敗:無論資料品質結果為何,只要工作本身失敗,就會傳送報表。
- 工作完成 (成功或失敗):無論資料品質結果為何,都會在工作結束時傳送報表。
點選「建立」。
掃描作業建立後,您隨時可以按一下「Run now」(立即執行) 執行掃描。
gcloud
如要建立資料品質掃描作業,請使用 gcloud dataplex datascans create data-quality 指令。
如果來源資料是以 Knowledge Catalog 湖泊的形式組織,請加入 --data-source-entity 旗標:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
如果來源資料並非在 Knowledge Catalog 湖泊內管理,請加入 --data-source-resource 旗標:
gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-resource=DATA_SOURCE_RESOURCE
請替換下列變數:
DATASCAN:資料品質掃描作業的名稱。LOCATION:要建立資料品質掃描作業的 Google Cloud 區域。DATA_QUALITY_SPEC_FILE:JSON 或 YAML 檔案的路徑,其中包含資料品質掃描的規格。檔案可以是本機檔案,也可以是前置字串為gs://的 Cloud Storage 路徑。請使用這個檔案指定掃描作業的資料品質規則。您也可以在這個檔案中指定其他詳細資料,例如篩選器、取樣百分比,以及掃描後動作 (例如匯出至 BigQuery 或傳送電子郵件通知報告)。請參閱 JSON 表示法的說明文件和 YAML 表示法範例。DATA_SOURCE_ENTITY:包含資料品質掃描資料的 Knowledge Catalog 實體。例如:projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity。DATA_SOURCE_RESOURCE:資源名稱,內含資料品質掃描作業的資料。例如://bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table。
C#
C#
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
Go
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
Java
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
Node.js
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
Python
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
Ruby
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
REST
如要建立資料品質掃描,請使用 dataScans.create 方法。
下列要求會建立單次資料品質掃描作業:
POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans?data_scan_id=DATASCAN_ID { "data": { "resource": "//bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID/tables/TABLE_ID" }, "type": "DATA_QUALITY", "executionSpec": { "trigger": { "oneTime": { "ttl_after_scan_completion": "120s" } } }, "dataQualitySpec": { "rules": [ { "nonNullExpectation": {}, "column": "COLUMN_NAME", "dimension": "DIMENSION", "threshold": 1 } ], "filter": "FILTER_CONDITION" } }
更改下列內容:
PROJECT_ID:專案 ID。LOCATION:建立資料品質掃描作業的區域。DATASCAN_ID:資料品質掃描作業的 ID。DATASET_ID:BigQuery 資料集 ID。TABLE_ID:BigQuery 資料表 ID。COLUMN_NAME:規則的資料欄名稱。DIMENSION:規則的維度,例如VALIDITY。FILTER_CONDITION:選用的 AIP-160 篩選器字串,用於選擇性執行規則 (例如name = \"RULE_NAME\")。
如要根據資料剖析掃描結果,使用規則建議建立資料品質掃描規則,請對資料剖析掃描呼叫 dataScans.jobs.generateDataQualityRules 方法,取得建議。
執行資料品質掃描
控制台
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
按一下要執行的資料品質掃描作業。
點選「立即執行」。
gcloud
如要執行資料品質掃描,請使用 gcloud dataplex datascans run 指令:
gcloud dataplex datascans run DATASCAN \ --location=LOCATION \
請替換下列變數:
LOCATION:建立資料品質掃描作業的 Google Cloud 區域。DATASCAN:資料品質掃描作業的名稱。
C#
C#
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
Go
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
Java
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
Python
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
Ruby
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
REST
如要執行資料品質掃描,請使用 dataScans.run 方法。
Airflow
如要在 Managed Service for Apache Airflow (Cloud Composer) 中使用有向無環圖 (DAG) 執行資料品質掃描,請使用 DataplexRunDataQualityScanOperator:
from datetime import datetime
from airflow import DAG
from airflow.providers.google.cloud.operators.dataplex import DataplexRunDataQualityScanOperator
with DAG(
"dataplex_auto_dq_scan",
start_date=datetime(2026, 1, 1),
schedule_interval="@daily",
catchup=False,
) as dag:
run_dq_scan = DataplexRunDataQualityScanOperator(
task_id="run_dataplex_dq_scan",
project_id="PROJECT_ID",
region="REGION",
data_scan_id="DATASCAN_ID",
)
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。REGION:建立資料品質掃描作業的 Google Cloud 區域。DATASCAN_ID:資料品質掃描作業的 ID。
查看資料品質掃描結果
控制台
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
按一下資料品質掃描作業的名稱。
「Overview」(總覽) 專區會顯示最近工作的相關資訊,包括掃描執行時間、每項工作掃描的記錄數量、是否通過所有資料品質檢查,以及失敗的資料品質檢查數量 (如有)。
「Data quality scan configuration」(資料品質掃描設定) 專區會顯示掃描作業的詳細資料。
如要查看工作的詳細資訊,例如資料品質分數 (代表通過的規則百分比)、失敗的規則和工作記錄,請按一下「Jobs history」(工作記錄) 分頁標籤。然後點選工作 ID。
gcloud
如要查看資料品質掃描工作的結果,請使用 gcloud dataplex datascans jobs describe 指令:
gcloud dataplex datascans jobs describe JOB \ --location=LOCATION \ --datascan=DATASCAN \ --view=FULL
請替換下列變數:
JOB:資料品質掃描工作的工作 ID。LOCATION:建立資料品質掃描作業的 Google Cloud 區域。DATASCAN:工作所屬資料品質掃描作業的名稱。--view=FULL:如要查看掃描工作結果,請指定FULL。
C#
C#
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
Go
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
Java
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
Python
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
Ruby
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
REST
如要查看資料品質掃描結果,請使用 dataScans.get 方法。
查看發布結果
如果資料品質掃描結果是以 Knowledge Catalog 中繼資料的形式發布,您可以在Google Cloud 控制台的 BigQuery 和 Knowledge Catalog 頁面,查看來源資料表的「Data quality」(資料品質) 分頁,瞭解最新的掃描結果。
前往 Google Cloud 控制台的「BigQuery」頁面。
點選左側窗格中的 「Explorer」。

如果沒有看到左側窗格,請按一下 「Expand left pane」(展開左側窗格),開啟窗格。
在「Explorer」窗格中,依序點選「資料集」和您的資料集。
依序點選「Overview」(總覽) >「Tables」(資料表),然後選取要查看資料品質掃描結果的資料表。
按一下「資料品質」分頁標籤。
系統會顯示最新發布的結果。
查看歷來掃描結果
Knowledge Catalog 會儲存最近 300 項工作或過去一年的資料品質掃描記錄,以先發生者為準。
控制台
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
按一下資料品質掃描作業的名稱。
按一下「Jobs history」(工作記錄) 分頁標籤。
「Jobs history」(工作記錄) 分頁會提供過去工作的相關資訊,例如每項工作掃描的記錄數量、工作狀態、工作執行時間,以及每項規則是否通過。
如要查看工作的詳細資訊,請按一下「Job ID」(工作 ID) 欄中的任何工作。
gcloud
如要查看歷來的資料品質掃描工作,請使用 gcloud dataplex datascans jobs list 指令:
gcloud dataplex datascans jobs list \ --location=LOCATION \ --datascan=DATASCAN \
請替換下列變數:
LOCATION:建立資料品質掃描作業的 Google Cloud 區域。DATASCAN:資料品質掃描作業的名稱,用於查看 歷來工作。
C#
C#
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
Go
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
Java
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
Python
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
Ruby
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
REST
如要查看歷來的資料品質掃描工作,請使用 dataScans.jobs.list 方法。
工作狀態
資料掃描工作可能會有下列狀態:
PENDING:工作已建立,但尚未開始執行。在這個狀態下,掃描作業會主動設定基礎架構或取得運算單元。這個階段可能需要 10 到 20 秒以上,具體時間取決於結構定義複雜度和資源爭用情況。RUNNING:工作正在執行。CANCELING:工作正在取消。CANCELLED:工作已成功取消。SUCCEEDED:工作順利完成。由於匯總和中繼資料同步等後續處理步驟,完成狀態可能會比實際查詢完成時間晚最多 60 秒。FAILED:工作因錯誤而失敗。由於匯總和中繼資料同步等後續處理步驟,完成狀態可能會比實際查詢完成時間晚最多 60 秒。SUCCEEDED_WITH_ERRORS:工作順利完成,但執行期間發生部分錯誤。
監控最佳做法
監控資料掃描工作時,請務必遵循下列最佳做法:
避免頻繁輪詢:避免頻繁輪詢 (例如每 1 到 5 秒呼叫
GetJob或同等函式)。過度輪詢會浪費 API 配額,且不會加快狀態轉換。使用指數輪詢:如果無法避免重複輪詢,請使用指數輪詢,從 10 到 15 秒開始。
使用非同步事件導向的分離機制 (建議):不採用同步 API 輪詢,而是使用 Eventarc 觸發條件監聽 Cloud 稽核記錄 (
cloudaudit.googleapis.com)。您可以使用這些觸發條件,在 DataScan 工作完成事件發生時,立即啟動下游工作流程。這種做法可繞過 API 輪詢限制、節省配額,並縮短感知延遲時間。
授予資料品質掃描結果的存取權
如要讓組織中的使用者查看掃描結果,請按照下列步驟操作:
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
按一下要分享結果的資料品質掃描。
按一下「Permissions」(權限) 分頁標籤。
請執行下列步驟:
- 如要將存取權授予主體,請按一下 「Grant access」(授予存取權)。將 Dataplex DataScan 資料檢視者角色授予相關聯的主體。
- 如要移除主體的存取權,請選取要移除「Dataplex DataScan DataViewer」角色的主體。按一下 「Remove access」(移除存取權),然後在系統提示時確認。
排解資料品質失敗問題
您可以使用 Cloud Logging 中的記錄,設定資料品質檢查失敗的快訊。如需更多資訊 (包括查詢範例),請參閱「在 Cloud Logging 中設定警告」。
如果工作有資料列層級規則失敗,Knowledge Catalog 會提供查詢,以便取得失敗的記錄。執行這項查詢,即可查看不符合規則的記錄。
控制台
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
按一下要排解記錄問題的資料品質掃描作業名稱。
按一下「Jobs history」(工作記錄) 分頁標籤。
點選資料品質失敗工作的 ID。
在開啟的工作結果視窗中,找到「規則」部分,然後找出「查詢以取得失敗記錄」欄。針對失敗的規則,按一下「Copy query to clipboard」(將查詢複製到剪貼簿)。
在 BigQuery 中執行查詢,查看導致工作失敗的記錄。
gcloud
不支援。
REST
如要取得找出資料品質失敗的工作,請使用
dataScans.get方法。在回應物件中,
failingRowsQuery欄位會顯示查詢。在 BigQuery 中執行查詢,查看導致工作失敗的記錄。
Knowledge Catalog 也會執行偵錯查詢,前提是建立規則時已納入這項查詢。偵錯查詢結果會包含在每項規則的輸出內容中。這項功能為預先發布版。
控制台
不支援。
gcloud
不支援。
REST
如要取得找出資料品質失敗的工作,請使用 dataScans.get 方法。在回應物件中,debugQueriesResultSets 欄位會顯示偵錯查詢的結果。
管理特定資料表的資料品質掃描作業
本文中的步驟說明如何使用Google Cloud 控制台中的 BigQuery「Metadata curation」(中繼資料管理) >「Data profiling & quality」(資料剖析與品質) 頁面,管理專案中的資料品質掃描作業。
您也可以在處理特定資料表時,建立及管理資料品質掃描作業。在 Google Cloud 控制台的 BigQuery 資料表頁面中,使用「Data quality」(資料品質) 分頁。請執行下列步驟:
前往 Google Cloud 控制台的「BigQuery」頁面。
在左側的「Explorer」窗格中,依序點選「資料集」和您的資料集。依序點選「Overview」(總覽) >「Tables」(資料表),然後選取要查看資料品質掃描結果的資料表。
按一下「資料品質」分頁標籤。
視資料表是否有資料品質掃描作業,且結果是否發布為 Knowledge Catalog 中繼資料而定,您可以透過下列方式處理資料表的資料品質掃描作業:
資料品質掃描結果已發布:頁面會顯示最新的掃描結果。
如要管理這個資料表的資料品質掃描作業,請按一下「Data quality scan」(資料品質掃描),然後選取下列任一選項:
「Create new scan」(建立新的掃描作業):建立新的資料品質掃描作業。詳情請參閱本文的「建立資料品質掃描作業」一節。從資料表的詳細資料頁面建立掃描作業時,系統會預先選取該資料表。
「立即執行」:執行掃描。
編輯掃描設定:編輯設定,包括顯示名稱、篩選器和排程。
如要編輯資料品質規則,請在「Data quality」(資料品質) 分頁中,按一下「Rules」(規則) 分頁標籤。按一下「修改規則」。更新規則,然後按一下「Save」(儲存)。
管理掃描權限:控管哪些人可以存取掃描結果。詳情請參閱本文的「授予資料品質掃描結果存取權」一節。
查看歷來結果:查看先前資料品質掃描工作的詳細資訊。詳情請參閱本文的「查看資料品質掃描結果」和「查看歷來掃描結果」部分。
「View all scans」(查看所有掃描作業):查看適用於這個資料表的資料品質掃描作業清單。
未發布資料品質掃描結果:請從下列選項中選取:
建立資料品質掃描作業:建立新的資料品質掃描作業。詳情請參閱本文的「建立資料品質掃描作業」一節。從資料表的詳細資料頁面建立掃描作業時,系統會預先選取該資料表。
查看現有掃描:查看適用於這個資料表的資料品質掃描清單。
查看資料表的資料品質掃描
如要查看適用於特定資料表的資料品質掃描作業,請按照下列步驟操作:
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
依資料表名稱和掃描類型篩選清單。
更新資料品質掃描作業
您可以編輯現有資料品質掃描作業的各種設定,例如顯示名稱、篩選器、排程和資料品質規則。
控制台
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
按一下資料品質掃描作業的名稱。
如要編輯設定 (包括顯示名稱、篩選器和時間表),請按一下「Edit」(編輯)。編輯值,然後按一下「儲存」。
如要編輯資料品質規則,請在掃描詳細資料頁面中,按一下「Current rules」(目前規則) 分頁標籤。按一下「修改規則」。更新規則,然後按一下「Save」(儲存)。
gcloud
如要更新資料品質掃描作業的說明,請使用 gcloud dataplex datascans update data-quality 指令:
gcloud dataplex datascans update data-quality DATASCAN \ --location=LOCATION \ --description=DESCRIPTION
更改下列內容:
DATASCAN:要更新的資料品質掃描作業名稱。LOCATION:建立資料品質掃描作業的 Google Cloud 區域。DESCRIPTION:資料品質掃描作業的新說明。
C#
C#
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
Go
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
Java
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
Python
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
Ruby
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
REST
如要編輯資料品質掃描作業,請使用 dataScans.patch 方法。
刪除資料品質掃描作業
控制台
控制台
在 Google Cloud 控制台的 BigQuery「Metadata curation」(中繼資料管理) 頁面,前往「Data profiling & quality」(資料剖析與品質) 分頁。
按一下要刪除的掃描檔。
按一下「Delete」(刪除),然後在系統提示時確認。
gcloud
gcloud
如要刪除資料品質掃描作業,請使用 gcloud dataplex datascans delete 指令:
gcloud dataplex datascans delete DATASCAN \ --location=LOCATION \ --async
請替換下列變數:
DATASCAN:要刪除的資料品質掃描作業名稱。LOCATION:建立資料品質掃描作業的 Google Cloud 區域。
C#
C#
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Go
Go
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
Java
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
Python
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Ruby
Ruby
如要向 BigQuery 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
REST
REST
如要刪除資料品質掃描作業,請使用 dataScans.delete 方法。
後續步驟
- 進一步瞭解 BigQuery 的資料治理。