建立及使用資料剖析掃描

本頁面說明如何使用Google Cloud 控制台、Google Cloud CLI 或 REST API 建立資料設定檔掃描作業。

如要進一步瞭解 Dataplex 通用目錄資料剖析檔掃描作業,請參閱「關於資料剖析」。

事前準備

在 Google Cloud 控制台啟用 Dataplex API。

啟用 API

權限

如要分析 BigQuery 資料表,您需要具備下列權限:

  • 如要在 BigQuery 資料表上執行資料剖析掃描作業,您必須具備讀取 BigQuery 資料表的權限,以及在用於掃描資料表的專案中建立 BigQuery 工作所需的權限。

  • 如果 BigQuery 資料表和資料剖析掃描作業位於不同的專案中,您必須為 Dataplex 通用目錄服務帳戶授予對應 BigQuery 資料表的讀取權限。

  • 如果 BigQuery 資料是使用 Dataplex 通用目錄湖泊進行整理,則您必須具備 Dataplex 通用目錄角色 roles/dataplex.metadataReaderroles/dataplex.viewer,才能建立資料剖析掃描作業。這會授予下列權限:

    • dataplex.lakes.list
    • dataplex.lakes.get
    • dataplex.zones.list
    • dataplex.zones.get
    • dataplex.entities.list
    • dataplex.entities.get
    • dataplex.operations.get
  • 如果您要掃描 Cloud Storage 中的 BigQuery 外部資料表,請為 Dataplex 通用目錄服務帳戶指派 Cloud Storage 物件檢視器 (roles/storage.objectViewer) 角色,或指派下列權限:

    • storage.buckets.get
    • storage.objects.get
  • 如果您想在Google Cloud 控制台的 BigQuery 和 Dataplex 通用目錄頁面中,針對來源資料表發布資料剖析掃描結果,就必須獲得該資料表的 BigQuery 資料編輯者 (roles/bigquery.dataEditor) IAM 角色。或者,您需要下列所有權限:

    • bigquery.tables.get
    • bigquery.tables.update
    • bigquery.tables.updateData
    • bigquery.tables.delete
  • 如要將掃描結果匯出至 BigQuery 資料表,Dataplex 通用目錄服務帳戶必須具備「BigQuery 資料編輯者」(roles/bigquery.dataEditor) 角色。這會授予下列權限:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.getData
    • bigquery.tables.update
    • bigquery.tables.updateData
  • 如果您需要存取受 BigQuery 資料欄層級存取權政策保護的資料欄,請為這些資料欄指派 Dataplex 通用目錄服務帳戶權限。建立或更新資料掃描的使用者也需要資料欄的權限。

  • 如果資料表已啟用 BigQuery 資料列層級存取權政策,您只能掃描 Dataplex 通用目錄服務帳戶可見的資料列。請注意,個別使用者的存取權限不會納入列層級政策的評估。

資料掃描角色和權限

如要使用資料分析,專案管理員可以指派已授予權限的預先定義角色,或是授予個別權限。這些角色如下:

  • roles/dataplex.dataScanAdmin:具備 DataScan 資源的完整存取權。
  • roles/dataplex.dataScanEditor:具備 DataScan 資源的寫入權限。
  • roles/dataplex.dataScanViewer:可讀取 DataScan 資源,但不包括結果。
  • roles/dataplex.dataScanDataViewer:可讀取 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 的說明
dataplex.datascans.getIamPolicy 查看掃描作業目前的 IAM 權限
dataplex.datascans.setIamPolicy 設定掃描作業的 IAM 權限

建立資料剖析掃描作業

控制台

  1. 在 Google Cloud 控制台中,前往「Profile」頁面。

    前往 Dataplex 通用目錄設定檔

  2. 按一下「建立資料剖析掃描作業」

  3. 輸入「顯示名稱」

  4. 如要變更自動產生的掃描 ID,請提供您自己的 ID。請參閱「資源命名慣例」。

  5. 選用:輸入說明

  6. 在「Table」(資料表) 欄位中,按一下「Browse」(瀏覽)

  7. 選取表格,然後按一下「選取」

  8. 在「範圍」欄位中,選擇「增量」或「整個資料」

    • 如果您選擇「增量資料」,請在「時間戳記欄」欄位中,從 BigQuery 資料表中選取 DATETIMESTAMP 類型的資料欄,這類資料欄只會遞增,並能用來識別新的記錄。如果資料表是依 DATETIMESTAMP 型別的資料欄分區,建議您將分區欄位做為時間戳記欄位。
  9. 如要將取樣方法套用至資料剖析掃描作業,請在「取樣大小」清單中選取取樣百分比。

    • 請選擇介於 0.0% 和 100.0% 之間的百分比值,最多可有 3 位小數。
    • 如果是較大的資料集,請選擇較低的取樣百分比。舉例來說,如果您輸入的值介於 0.1% 和 1.0% 之間,而資料表約為 1 PB,Dataplex Universal Catalog 就會取樣 1 到 10 TB 的資料。
    • 樣本資料中至少要有 100 筆記錄,系統才能傳回結果。
    • 針對增量資料掃描,Dataplex 通用目錄會將取樣作業套用至最新的增量資料。
  10. 如要依列篩選,請按一下「篩選器」,然後選取「篩選資料列」

    • 輸入有效的 SQL 運算式,可用於 GoogleSQL 語法中的 WHERE 子句。例如:col1 >= 0

    • 篩選器可以是多個資料欄的 SQL 條件組合。例如 col1 >= 0 AND col2 < 10

  11. 選用:按一下「篩選器」。勾選「篩選欄」核取方塊。

    a. 在「Include columns」(包含欄) 欄位中,按一下「Browse」(瀏覽)

    • 指定要納入設定檔掃描作業的任何欄。勾選核取方塊,然後按一下「選取」,即可選取所需資料欄。

    b. 在「Exclude columns」(排除欄) 欄位中,按一下「Browse」(瀏覽)

    • 指定要從設定檔掃描作業中排除的任何資料欄。勾選核取方塊,然後按一下「選取」,即可選取所需資料欄。
  12. 選用步驟:在Google Cloud 控制台的 BigQuery 和 Dataplex 通用目錄頁面中,針對來源資料表發布資料剖析掃描結果。按一下「將結果發布至 BigQuery 和 Dataplex Catalog UI」核取方塊。

    您可以在 BigQuery 和 Dataplex 通用目錄頁面的「資料剖析」分頁中,查看來源資料表的最新掃描結果。如要讓使用者存取已發布的掃描結果,請參閱「分享已發布的結果」。

    在下列情況下,您可能無法使用發布選項:

    • 您沒有該資料表的必要權限。
    • 已將另一項資料品質掃描設為發布結果。

    如要進一步瞭解查看已發布結果所需的權限,請參閱「權限」。

  13. 選用步驟:將掃描結果匯出至 BigQuery 標準資料表。按一下「瀏覽」,選取現有的 BigQuery 資料集,用於儲存資料剖析檔掃描結果。

    如果指定的資料表不存在,Dataplex 通用目錄會為您建立資料表。如果您使用現有的資料表,請確認該資料表與本節稍後所述的資料表結構定義相容。

  14. 選用步驟:新增標籤。標籤是 key:value 組合,可用來將相關物件分組,或與其他 Google Cloud 資源組合。

  15. 在「排程選項」下方,選擇下列任一選項:

    • 重複:依照每日、每週、每月或自訂時間表執行資料剖析掃描工作。指定掃描作業的執行頻率和時間。如果選擇自訂,請使用 cron 格式指定排程。

    • 隨選:建立資料剖析掃描作業,並隨時使用「立即執行」動作執行。

  16. 按一下 [建立]。

gcloud

如要建立資料設定檔掃描作業,請執行下列指令:

gcloud dataplex datascans create data-profile DATASCAN \
--location=LOCATION \
--data-source-entity=DATA_SOURCE_ENTITY
| --data-source-resource=DATA_SOURCE_RESOURCE

替換下列變數:

  • DATASCAN:資料設定檔掃描作業的名稱。
  • LOCATION: Google Cloud 建立資料設定檔掃描作業的區域。
  • DATA_SOURCE_ENTITY:Dataplex 通用目錄實體,其中包含資料剖析檔掃描作業的資料。例如: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

如需瞭解選用引數,請參閱 gcloud CLI 參考資料

REST

使用 API Explorer 建立資料剖析掃描

建立多項資料剖析掃描作業

控制台

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

    前往 Dataplex 通用目錄設定檔

  2. 按一下「建立多個剖析掃描作業」

  3. 輸入ID 前置字串。Dataplex 通用目錄會使用提供的前置字串和不重複的後置字串,自動產生掃描 ID。

  4. 為所有資料剖析掃描作業輸入說明

  5. 在「Dataset」欄位中,按一下「Browse」。選取要從中挑選資料表的資料集。按一下「選取」

  6. 如果資料集跨多個區域,請選取要建立資料設定檔掃描作業的區域

  7. 選取「常用設定選項」

    1. 在「範圍」欄位中,選擇「增量」或「整個資料」

    2. 如要將取樣方法套用至資料剖析掃描作業,請在「取樣大小」清單中選取取樣百分比。

      請選擇介於 0.0% 和 100.0% 之間的百分比值,最多可有 3 位小數。

    3. 如要顯示所有掃描結果,請選取「發布」。您可以在 BigQuery 或 Dataplex 通用目錄資料表詳細資料的「Profile」分頁中查看結果。請確認您具備來源資料表的 bigquery.tables.update 權限。

    4. 在「排程選項」下方,選擇下列任一選項:

      1. 重複執行:定期執行資料剖析掃描工作。指定掃描的頻率 (每天、每週、每月或自訂) 和時間。如果選擇自訂,請使用 cron 格式指定時間表。

      2. 隨選:建立資料剖析掃描工作,並按一下「執行」隨時執行。

  8. 在「Choose tables」(選擇資料表) 選項中,按一下「Browse」(瀏覽)。選擇要掃描的一或多個表格。按一下「選取」

  9. 選取「其他設定」

    1. 如要將資料剖析檔掃描結果儲存至所選的 BigQuery 資料表,請在「Export scan results to BigQuery table」中選擇資料表。Dataplex 通用目錄會自動複製每個掃描作業的結果,並儲存至這個資料表。

      1. 點選「瀏覽」選取資料集。

      2. 輸入要用來儲存結果的 BigQuery 資料表。這可以是現有的資料表,供其他 Dataplex 通用目錄資料設定檔掃描作業使用,用於儲存結果。如果沒有具有指定名稱的這類資料表,Dataplex 通用目錄會建立資料表。

    2. 新增標籤,為資料剖析掃描作業加上註解。

  10. 按一下「Run scan」,即可建立並執行所有掃描作業。這個選項僅適用於隨選掃描。

  11. 按一下「建立」,即可建立所有掃描作業。

gcloud

不支援。

REST

不支援。

匯出資料表結構定義

如果您想將資料剖析掃描結果匯出至現有的 BigQuery 資料表,請確認該資料表與下列表格結構定義相容:

資料欄名稱 欄資料類型 子欄位名稱
(如適用)
子欄位資料類型 模式 範例
data_profile_scan struct/record resource_name string nullable //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string nullable test-project
location string nullable us-central1
data_scan_id string nullable test-datascan
data_source struct/record resource_name string nullable 實體情況:
//dataplex.googleapis.com/projects/test-project/locations/europe-west2/lakes/test-lake/zones/test-zone/entities/test-entity

表格情況: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
dataplex_entity_project_id string nullable test-project
dataplex_entity_project_number integer nullable 123456789012
dataplex_lake_id string nullable (僅當來源為實體時才有效)
test-lake
dataplex_zone_id string nullable (僅當來源為實體時才有效)
test-zone
dataplex_entity_id string nullable (僅當來源為實體時才有效)
test-entity
table_project_id string nullable dataplex-table
table_project_number int64 nullable 345678901234
dataset_id string nullable (僅適用於來源為資料表的情況)
test-dataset
table_id string nullable (僅適用於來源為資料表的情況)
test-table
data_profile_job_id string nullable caeba234-cfde-4fca-9e5b-fe02a9812e38
data_profile_job_configuration json trigger string nullable ondemand/schedule
incremental boolean nullable true/false
sampling_percent float nullable (0-100)
20.0 (代表 20%)
row_filter string nullable col1 >= 0 AND col2 < 10
column_filter json nullable {"include_fields":["col1","col2"], "exclude_fields":["col3"]}
job_labels json nullable {"key1":value1}
job_start_time timestamp nullable 2023-01-01 00:00:00 UTC
job_end_time timestamp nullable 2023-01-01 00:00:00 UTC
job_rows_scanned integer nullable 7500
column_name string nullable column-1
column_type string nullable string
column_mode string nullable repeated
percent_null float nullable (0.0-100.0)
20.0 (代表 20%)
percent_unique float nullable (0.0-100.0)
92.5
min_string_length integer nullable (僅適用於資料欄類型為字串的情況)
10
max_string_length integer nullable (僅適用於資料欄類型為字串的情況)
4
average_string_length float nullable (僅適用於資料欄類型為字串的情況)
7.2
min_value float nullable (僅適用於資料欄類型為數字 - 整數/浮點)
max_value float nullable (僅適用於資料欄類型為數字 - 整數/浮點)
average_value float nullable (僅適用於資料欄類型為數字 - 整數/浮點)
standard_deviation float nullable (僅適用於資料欄類型為數字 - 整數/浮點)
quartile_lower integer nullable (僅適用於資料欄類型為數字 - 整數/浮點)
quartile_median integer nullable (僅適用於資料欄類型為數字 - 整數/浮點)
quartile_upper integer nullable (僅適用於資料欄類型為數字 - 整數/浮點)
top_n struct/record - repeated value string nullable "4009"
count integer nullable 20
percent float nullable 10 (表示 10%)

匯出資料表設定

匯出至 BigQueryExport 表格時,請遵循下列規範:

  • 針對欄位 resultsTable,請使用下列格式://bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}
  • 使用 BigQuery 標準資料表。
  • 如果掃描作業建立或更新時,資料表不存在,Dataplex 通用目錄會為您建立資料表。
  • 根據預設,資料表會依 job_start_time 資料欄每日分區。
  • 如果您希望資料表以其他設定進行分區,或是不想分區,請使用必要的結構定義和設定重新建立資料表,然後將預先建立的資料表做為結果資料表。
  • 請確認結果資料表與來源資料表位於相同位置。
  • 如果在專案中設定了 VPC-SC,則結果資料表必須與來源資料表位於相同的 VPC-SC 範圍內。
  • 如果在掃描執行階段修改資料表,目前執行中的工作會匯出至先前的結果資料表,而資料表變更會在下一個掃描工作生效。
  • 請勿修改資料表結構定義。如果您需要自訂欄,請在資料表上建立檢視畫面。
  • 為降低成本,請根據用途設定分區的到期日。詳情請參閱如何設定區隔到期時間

執行資料剖析掃描

控制台

  1. 在 Google Cloud 控制台中,前往 Dataplex 通用目錄的「Profile」頁面。前往「個人資料」
  2. 按一下要執行的資料剖析檔掃描作業。
  3. 按一下「立即執行」

gcloud

如要執行資料設定檔掃描作業,請執行下列指令:

gcloud dataplex datascans run DATASCAN \
--location=LOCATION

替換下列變數:

  • DATASCAN:資料設定檔掃描作業的名稱。
  • LOCATION:建立資料剖析檔掃描作業的 Google Cloud 區域。

如需瞭解選用引數,請參閱 gcloud CLI 參考資料

REST

使用 API Explorer 執行資料設定檔掃描

查看資料剖析掃描工作結果

控制台

您建立的所有資料剖析掃描作業都會顯示在「Profile頁面中。

如要查看掃描作業的詳細結果,請按一下掃描作業名稱。

  • 「總覽」部分會顯示掃描執行作業、每次執行作業的時間、掃描的資料表記錄數,以及工作狀態。

  • 「設定檔掃描設定」部分包含掃描作業的詳細資料。

gcloud

如要查看資料剖析掃描作業的結果,請執行下列指令:

gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULL

替換下列變數:

  • JOB:資料設定檔掃描作業的作業 ID。
  • LOCATION:建立資料剖析檔掃描作業的 Google Cloud 區域。
  • DATASCAN:工作所屬資料設定檔掃描作業的名稱。
  • --view=FULL:如要查看掃描工作結果,請指定 FULL

如需瞭解選用引數,請參閱 gcloud CLI 參考資料

REST

使用 API Explorer 查看資料剖析檔掃描結果

查看最近的資料剖析掃描工作

控制台

當至少有一次成功完成的執行作業時,「最新工作結果」分頁會提供最新工作的相關資訊。清單會列出掃描表格的欄,以及掃描過程中所發現的欄相關統計資料。

gcloud

如要查看最近一次成功掃描資料設定檔的結果,請執行下列指令:

gcloud dataplex datascans describe DATASCAN \
--location=LOCATION \
--view=FULL

替換下列變數:

  • DATASCAN:要查看最近一次工作所用的資料設定檔掃描作業名稱。
  • LOCATION:建立資料剖析掃描作業的 Google Cloud 區域。
  • --view=FULL:如要查看掃描工作結果,請指定 FULL

如需瞭解選用引數,請參閱 gcloud CLI 參考資料

REST

使用 API Explorer 查看最近的掃描工作

查看所有資料剖析掃描工作

Dataplex 通用目錄會儲存最近 300 個工作或過去一年的資料剖析掃描記錄,以先到者為準。

控制台

「工作記錄」分頁會提供過去工作相關資訊。這份報表會列出所有工作、每項工作掃描的記錄數量、工作狀態、工作執行時間等資訊。

如要查看工作詳細資訊,請按一下「Job ID」下方的任一工作。

gcloud

如要查看資料設定檔掃描作業的所有工作,請執行下列指令:

gcloud dataplex datascans jobs list \
--location=LOCATION \
--datascan=DATASCAN

替換下列變數:

  • LOCATION:建立資料剖析掃描作業的 Google Cloud 區域。
  • DATASCAN:要查看所有工作資料的資料設定檔掃描名稱。

如需瞭解選用引數,請參閱 gcloud CLI 參考資料

REST

使用 API Explorer 查看所有掃描工作

分享已發布的結果

建立資料剖析掃描作業時,如果您選擇在Google Cloud 控制台的 BigQuery 和 Dataplex 通用目錄頁面中發布掃描結果,則最新的掃描結果會顯示在這些頁面的「資料剖析」分頁中。

您可以讓貴機構的使用者存取已發布的掃描結果。如要授予掃描結果的存取權,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Profile」頁面。

    前往 Dataplex 通用目錄設定檔

  2. 按一下要分享結果的資料剖析檔掃描。

  3. 前往「權限」分頁。

  4. 按一下「授予存取權」

  5. 在「New principals」(新增主體) 欄位中,新增您要授予存取權的主體。

  6. 在「請選擇角色」欄位中,選取「Dataplex 通用目錄 DataScan DataViewer」

  7. 按一下 [儲存]

如要移除主體對已發布掃描結果的存取權,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Profile」頁面。

    前往 Dataplex 通用目錄設定檔

  2. 按一下要分享結果的資料剖析檔掃描。

  3. 前往「權限」分頁。

  4. 選取要移除 Dataplex 通用目錄 DataScan DataViewer 角色的使用者。

  5. 按一下 [移除存取權]

  6. 按一下「確認」。

更新資料剖析掃描

控制台

  1. 在 Google Cloud 控制台中,前往「Profile」頁面。

    前往 Dataplex 通用目錄設定檔

  2. 在要編輯的掃描畫面所在的列中,依序按一下 >「編輯」

  3. 編輯值。

  4. 按一下 [儲存]

gcloud

如要更新資料設定檔掃描作業,請執行下列指令:

gcloud dataplex datascans update data-profile DATASCAN \
--location=LOCATION \
--description=DESCRIPTION

替換下列變數:

  • DATASCAN:要更新的資料設定檔掃描作業名稱。
  • LOCATION:建立資料剖析掃描作業的 Google Cloud 區域。
  • DESCRIPTION:資料設定檔掃描作業的新說明。

如要更新規格欄位,請參閱 gcloud CLI 參考資料

REST

使用 API Explorer 編輯資料剖析掃描

刪除資料剖析掃描

控制台

  1. 在 Google Cloud 控制台中,前往「Profile」頁面。前往 Dataplex 通用目錄設定檔

  2. 按一下要刪除的掃描。

  3. 點選「刪除」。

gcloud

如要刪除資料設定檔掃描作業,請執行下列指令:

gcloud dataplex datascans delete \
DATASCAN --location=LOCATION \
--async

替換下列變數:

  • DATASCAN:要刪除的資料設定檔掃描作業名稱。
  • LOCATION:建立資料剖析掃描作業的 Google Cloud 區域。

如需瞭解選用引數,請參閱 gcloud CLI 參考資料

REST

使用 API Explorer 刪除資料剖析掃描作業

後續步驟