本頁面說明如何使用Google Cloud 控制台、Google Cloud CLI 或 REST API 建立資料設定檔掃描作業。
如要進一步瞭解 Dataplex 通用目錄資料剖析檔掃描作業,請參閱「關於資料剖析」。
事前準備
在 Google Cloud 控制台啟用 Dataplex API。
權限
如要分析 BigQuery 資料表,您需要具備下列權限:
如要在 BigQuery 資料表上執行資料剖析掃描作業,您必須具備讀取 BigQuery 資料表的權限,以及在用於掃描資料表的專案中建立 BigQuery 工作所需的權限。
如果 BigQuery 資料表和資料剖析掃描作業位於不同的專案中,您必須為 Dataplex 通用目錄服務帳戶授予對應 BigQuery 資料表的讀取權限。
如果 BigQuery 資料是使用 Dataplex 通用目錄湖泊進行整理,則您必須具備 Dataplex 通用目錄角色
roles/dataplex.metadataReader
和roles/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 權限 |
建立資料剖析掃描作業
控制台
在 Google Cloud 控制台中,前往「Profile」頁面。
按一下「建立資料剖析掃描作業」。
輸入「顯示名稱」。
如要變更自動產生的掃描 ID,請提供您自己的 ID。請參閱「資源命名慣例」。
選用:輸入說明。
在「Table」(資料表) 欄位中,按一下「Browse」(瀏覽)。
選取表格,然後按一下「選取」。
在「範圍」欄位中,選擇「增量」或「整個資料」。
- 如果您選擇「增量資料」,請在「時間戳記欄」欄位中,從 BigQuery 資料表中選取
DATE
或TIMESTAMP
類型的資料欄,這類資料欄只會遞增,並能用來識別新的記錄。如果資料表是依DATE
或TIMESTAMP
型別的資料欄分區,建議您將分區欄位做為時間戳記欄位。
- 如果您選擇「增量資料」,請在「時間戳記欄」欄位中,從 BigQuery 資料表中選取
如要將取樣方法套用至資料剖析掃描作業,請在「取樣大小」清單中選取取樣百分比。
- 請選擇介於 0.0% 和 100.0% 之間的百分比值,最多可有 3 位小數。
- 如果是較大的資料集,請選擇較低的取樣百分比。舉例來說,如果您輸入的值介於 0.1% 和 1.0% 之間,而資料表約為 1 PB,Dataplex Universal Catalog 就會取樣 1 到 10 TB 的資料。
- 樣本資料中至少要有 100 筆記錄,系統才能傳回結果。
- 針對增量資料掃描,Dataplex 通用目錄會將取樣作業套用至最新的增量資料。
如要依列篩選,請按一下「篩選器」,然後選取「篩選資料列」。
輸入有效的 SQL 運算式,可用於 GoogleSQL 語法中的
WHERE
子句。例如:col1 >= 0
。篩選器可以是多個資料欄的 SQL 條件組合。例如
col1 >= 0 AND col2 < 10
。
選用:按一下「篩選器」。勾選「篩選欄」核取方塊。
a. 在「Include columns」(包含欄) 欄位中,按一下「Browse」(瀏覽)。
- 指定要納入設定檔掃描作業的任何欄。勾選核取方塊,然後按一下「選取」,即可選取所需資料欄。
b. 在「Exclude columns」(排除欄) 欄位中,按一下「Browse」(瀏覽)。
- 指定要從設定檔掃描作業中排除的任何資料欄。勾選核取方塊,然後按一下「選取」,即可選取所需資料欄。
選用步驟:在Google Cloud 控制台的 BigQuery 和 Dataplex 通用目錄頁面中,針對來源資料表發布資料剖析掃描結果。按一下「將結果發布至 BigQuery 和 Dataplex Catalog UI」核取方塊。
您可以在 BigQuery 和 Dataplex 通用目錄頁面的「資料剖析」分頁中,查看來源資料表的最新掃描結果。如要讓使用者存取已發布的掃描結果,請參閱「分享已發布的結果」。
在下列情況下,您可能無法使用發布選項:
- 您沒有該資料表的必要權限。
- 已將另一項資料品質掃描設為發布結果。
如要進一步瞭解查看已發布結果所需的權限,請參閱「權限」。
選用步驟:將掃描結果匯出至 BigQuery 標準資料表。按一下「瀏覽」,選取現有的 BigQuery 資料集,用於儲存資料剖析檔掃描結果。
如果指定的資料表不存在,Dataplex 通用目錄會為您建立資料表。如果您使用現有的資料表,請確認該資料表與本節稍後所述的資料表結構定義相容。
選用步驟:新增標籤。標籤是
key:value
組合,可用來將相關物件分組,或與其他 Google Cloud 資源組合。在「排程選項」下方,選擇下列任一選項:
重複:依照每日、每週、每月或自訂時間表執行資料剖析掃描工作。指定掃描作業的執行頻率和時間。如果選擇自訂,請使用 cron 格式指定排程。
隨選:建立資料剖析掃描作業,並隨時使用「立即執行」動作執行。
按一下 [建立]。
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 建立資料剖析掃描。
建立多項資料剖析掃描作業
控制台
前往 Google Cloud 控制台的「Profile」頁面。
按一下「建立多個剖析掃描作業」。
輸入ID 前置字串。Dataplex 通用目錄會使用提供的前置字串和不重複的後置字串,自動產生掃描 ID。
為所有資料剖析掃描作業輸入說明。
在「Dataset」欄位中,按一下「Browse」。選取要從中挑選資料表的資料集。按一下「選取」。
如果資料集跨多個區域,請選取要建立資料設定檔掃描作業的區域。
選取「常用設定選項」:
在「範圍」欄位中,選擇「增量」或「整個資料」。
如要將取樣方法套用至資料剖析掃描作業,請在「取樣大小」清單中選取取樣百分比。
請選擇介於 0.0% 和 100.0% 之間的百分比值,最多可有 3 位小數。
如要顯示所有掃描結果,請選取「發布」。您可以在 BigQuery 或 Dataplex 通用目錄資料表詳細資料的「Profile」分頁中查看結果。請確認您具備來源資料表的
bigquery.tables.update
權限。在「排程選項」下方,選擇下列任一選項:
重複執行:定期執行資料剖析掃描工作。指定掃描的頻率 (每天、每週、每月或自訂) 和時間。如果選擇自訂,請使用 cron 格式指定時間表。
隨選:建立資料剖析掃描工作,並按一下「執行」隨時執行。
在「Choose tables」(選擇資料表) 選項中,按一下「Browse」(瀏覽)。選擇要掃描的一或多個表格。按一下「選取」。
選取「其他設定」:
如要將資料剖析檔掃描結果儲存至所選的 BigQuery 資料表,請在「Export scan results to BigQuery table」中選擇資料表。Dataplex 通用目錄會自動複製每個掃描作業的結果,並儲存至這個資料表。
點選「瀏覽」選取資料集。
輸入要用來儲存結果的 BigQuery 資料表。這可以是現有的資料表,供其他 Dataplex 通用目錄資料設定檔掃描作業使用,用於儲存結果。如果沒有具有指定名稱的這類資料表,Dataplex 通用目錄會建立資料表。
新增標籤,為資料剖析掃描作業加上註解。
按一下「Run scan」,即可建立並執行所有掃描作業。這個選項僅適用於隨選掃描。
按一下「建立」,即可建立所有掃描作業。
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 範圍內。
- 如果在掃描執行階段修改資料表,目前執行中的工作會匯出至先前的結果資料表,而資料表變更會在下一個掃描工作生效。
- 請勿修改資料表結構定義。如果您需要自訂欄,請在資料表上建立檢視畫面。
- 為降低成本,請根據用途設定分區的到期日。詳情請參閱如何設定區隔到期時間。
執行資料剖析掃描
控制台
- 在 Google Cloud 控制台中,前往 Dataplex 通用目錄的「Profile」頁面。前往「個人資料」
- 按一下要執行的資料剖析檔掃描作業。
- 按一下「立即執行」。
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 通用目錄頁面中發布掃描結果,則最新的掃描結果會顯示在這些頁面的「資料剖析」分頁中。
您可以讓貴機構的使用者存取已發布的掃描結果。如要授予掃描結果的存取權,請按照下列步驟操作:
在 Google Cloud 控制台中,前往「Profile」頁面。
按一下要分享結果的資料剖析檔掃描。
前往「權限」分頁。
按一下「授予存取權」。
在「New principals」(新增主體) 欄位中,新增您要授予存取權的主體。
在「請選擇角色」欄位中,選取「Dataplex 通用目錄 DataScan DataViewer」。
按一下 [儲存]。
如要移除主體對已發布掃描結果的存取權,請按照下列步驟操作:
在 Google Cloud 控制台中,前往「Profile」頁面。
按一下要分享結果的資料剖析檔掃描。
前往「權限」分頁。
選取要移除 Dataplex 通用目錄 DataScan DataViewer 角色的使用者。
按一下 [移除存取權]。
按一下「確認」。
更新資料剖析掃描
控制台
在 Google Cloud 控制台中,前往「Profile」頁面。
在要編輯的掃描畫面所在的列中,依序按一下 >「編輯」。
編輯值。
按一下 [儲存]。
gcloud
如要更新資料設定檔掃描作業,請執行下列指令:
gcloud dataplex datascans update data-profile DATASCAN \ --location=LOCATION \ --description=DESCRIPTION
替換下列變數:
DATASCAN
:要更新的資料設定檔掃描作業名稱。LOCATION
:建立資料剖析掃描作業的 Google Cloud 區域。DESCRIPTION
:資料設定檔掃描作業的新說明。
如要更新規格欄位,請參閱 gcloud CLI 參考資料。
REST
使用 API Explorer 編輯資料剖析掃描。
刪除資料剖析掃描
控制台
在 Google Cloud 控制台中,前往「Profile」頁面。前往 Dataplex 通用目錄設定檔
按一下要刪除的掃描。
點選「刪除」。
gcloud
如要刪除資料設定檔掃描作業,請執行下列指令:
gcloud dataplex datascans delete \ DATASCAN --location=LOCATION \ --async
替換下列變數:
DATASCAN
:要刪除的資料設定檔掃描作業名稱。LOCATION
:建立資料剖析掃描作業的 Google Cloud 區域。
如需瞭解選用引數,請參閱 gcloud CLI 參考資料。
REST
使用 API Explorer 刪除資料剖析掃描作業。
後續步驟
- 瞭解如何生成資料洞察以探索資料。
- 瞭解資料剖析。
- 瞭解自動分析資料品質。
- 瞭解如何使用自動資料品質。