创建和使用数据分析扫描

本页介绍了如何使用 Google Cloud 控制台、Google Cloud CLI 或 REST API 创建数据配置文件扫描。

如需详细了解 Dataplex 数据分析扫描,请参阅 数据分析简介

准备工作

在 Google Cloud 控制台中,启用 Dataplex API。

启用该 API

权限

如需分析 BigQuery 表,您需要以下权限:

  • 如需对 BigQuery 表运行数据分析扫描,您需要 以及读取 BigQuery 表的权限 在用于扫描表的项目中创建 BigQuery 作业。

  • 如果 BigQuery 表和数据配置文件扫描均位于 则需要向 Dataplex 服务 账号读取权限。

  • 如果 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
  • 如果您要从以下位置扫描 BigQuery 外部表: Cloud Storage,然后分配 Dataplex 服务账号 Cloud Storage Object Viewer (roles/storage.objectViewer) 或以下针对存储桶的权限:

    • storage.buckets.get
    • storage.objects.get
  • 如果您想在 Google Cloud 控制台中的 BigQuery 和 Data Catalog 页面中针对源表发布数据分析文件扫描结果,则必须获得 BigQuery Data Editor (roles/bigquery.dataEditor) IAM 角色或对相应表的 bigquery.tables.update 权限。

  • 如需将扫描结果导出到 BigQuery 表,您的 Dataplex 服务账号需要 BigQuery Data Editor (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 控制台中,前往个人资料页面。

    转到 Dataplex 配置文件

  2. 点击创建数据分析扫描

  3. 输入显示名称

  4. 如需更改自动生成的扫描 ID,请提供您自己的 ID。请参阅 资源命名惯例

  5. (可选)输入说明

  6. 字段中,点击浏览

  7. 选择一个表格,然后点击选择

  8. 范围字段中,选择增量数据整个数据

    • 如果您选择增量数据,请在时间戳列字段中: 从DATETIMESTAMP 可单调递增的 BigQuery 表, 来标识新记录。对于按类型为列进行分区的表 DATETIMESTAMP,我们建议使用分区列作为 timestamp 字段。
  9. 如需对数据配置文件扫描应用采样,请在采样规模列表中选择采样百分比。

    • 选择 0.0% 到 100.0% 之间的百分比值 3 位十进制数字。
    • 对于较大的数据集,请选择较低的抽样百分比。例如,对于大约 1 PB 的表,如果您输入的值介于 0.1% 到 1.0% 之间,Dataplex 会抽取 1-10 TB 的数据。
    • 采样数据中至少需要有 100 条记录才能返回结果。
    • 对于增量数据扫描,Dataplex 会对最新增量应用抽样。
  10. 要按行过滤,请点击过滤条件,然后选择过滤行

  11. 可选:点击过滤条件。选中过滤列复选框。

    a. 在要包含的列字段中,点击浏览

    • 指定要包含在分析扫描中的所有列。勾选所需列对应的复选框,然后点击选择

    b. 在排除列字段中,点击浏览

    • 指定要从分析扫描中排除的任何列。选择 选中相应列,然后点击选择
  12. 可选:在 BigQuery 和 Data Catalog 页面 Google Cloud 控制台中的源表。点击 将结果发布到 BigQuery 和 Dataplex Catalog 界面 复选框。

    您可以在 来源的 BigQuery 和 Data Catalog 页面 表格。如需让用户访问已发布的扫描结果,请参阅分享已发布的结果

    在以下情况下,您可能无法使用发布方式:

    • 您没有对该表格所需的权限。
    • 另一项数据质量扫描已设为发布结果。

    如需详细了解查看 请参阅权限

  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 控制台中,前往个人资料页面。

    转到 Dataplex 配置文件

  2. 点击创建多个分析扫描

  3. 输入 ID 前缀。Dataplex 自动生成扫描 使用所提供的前缀和唯一后缀。

  4. 为所有数据分析扫描输入说明

  5. 数据集字段中,点击浏览。选择要从中选择表的数据集。点击选择

  6. 如果数据集是多区域数据集,请选择要在其中创建数据集的区域 数据分析扫描。

  7. 选择 Common configuration options

    1. 范围字段中,选择增量数据整个数据

    2. 如需对数据配置文件扫描应用采样,请在采样规模列表中选择采样百分比。

      选择一个介于 0.0% 到 100.0% 之间的百分比值,最多可包含 3 位小数。

    3. 如需显示所有扫描的结果,请选择发布。您可以 在 BigQuery 的分析标签页中查看结果,或 Data Catalog 表详细信息。确保您拥有源表的 bigquery.tables.update 权限。

    4. 时间安排选项下方,选择以下选项之一:

      1. 重复:按计划运行数据分析扫描作业。指定扫描的运行频率(每天、每周、每月或自定义)以及运行时间。如果您选择自定义,请使用 cron 格式来指定时间安排。

      2. 按需:创建数据分析扫描作业,并在以下位置运行这些作业: 只需点击运行即可。

  8. 选择表选项中,点击浏览。请选择一项或多项 要扫描的表点击选择

  9. 选择其他设置

    1. 要将数据分析扫描结果保存到 选择 BigQuery 表,从 将扫描结果导出到 BigQuery 表。Dataplex 在每次扫描时自动将结果复制并保存至此表 作业。

      1. 点击浏览以选择数据集。

      2. 输入要将结果保存到的 BigQuery 表。这可以是其他 Dataplex 数据配置文件扫描用于保存结果的现有表。如果不存在包含 Dataplex 会创建该表。

    2. 添加标签,为您的数据分析扫描添加注释。

  10. 点击运行扫描以创建并运行所有扫描。只有 支持按需扫描

  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 可为 null test-project
location string 可为 null us-central1
data_scan_id string 可为 null 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 可为 null test-project
dataplex_entity_project_number integer 可为 null 123456789012
dataplex_lake_id string 可为 null (仅当来源为实体时才有效)
test-lake
dataplex_zone_id string 可为 null (仅当来源为实体时才有效)
test-zone
dataplex_entity_id string 可为 null (仅当来源为实体时有效)
test-entity
table_project_id string 可为 null dataplex-table
table_project_number int64 可为 null 345678901234
dataset_id string nullable (仅当源为表时才有效)
test-dataset
table_id string 可为 null (仅当来源为表时有效)
test-table
data_profile_job_id string 可为 null caeba234-cfde-4fca-9e5b-fe02a9812e38
data_profile_job_configuration json trigger string 可为 null ondemand/schedule
incremental boolean 可为 null true/false
sampling_percent float 可为 null (0-100)
20.0(表示 20%)
row_filter string nullable col1 >= 0 AND col2 < 10
column_filter json 可为 null {"include_fields":["col1","col2"], "exclude_fields":["col3"]}
job_labels json 可为 null {"key1":value1}
job_start_time timestamp nullable 2023-01-01 00:00:00 UTC
job_end_time timestamp 可为 null 2023-01-01 00:00:00 UTC
job_rows_scanned integer 可为 null 7500
column_name string nullable column-1
column_type string 可为 null string
column_mode string 可为 null repeated
percent_null float 可为 null (0.0-100.0)
20.0(表示 20%)
percent_unique float 可为 null (0.0 - 100.0)
92.5
min_string_length integer 可为 null (仅在列类型为字符串时有效)
10
max_string_length integer 可为 null (仅在列类型为字符串时有效)
4
average_string_length float 可为 null (仅在列类型为字符串时有效)
7.2
min_value float 可为 null (仅在列类型为数字 - 整数/浮点数时有效)
max_value float 可为 null (仅在列类型为数字 - 整数/浮点数时有效)
average_value float nullable (仅在列类型为数字 - 整数/浮点数时有效)
standard_deviation float 可为 null (仅在列类型为数字 - 整数/浮点数时有效)
quartile_lower integer 可为 null (仅当列类型为数字(整数/浮点数)时有效)
quartile_median integer 可为 null (仅在列类型为数字 - 整数/浮点数时有效)
quartile_upper integer 可为 null (仅在列类型为数字 - 整数/浮点数时有效)
top_n struct/record - repeated value string 可为 null "4009"
count integer 可为 null 20
percent float 可为 null 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 的配置文件页面。前往“个人资料”页面
  2. 点击要运行的数据分析扫描。
  3. 点击立即运行

gcloud

如需运行数据分析扫描,请运行以下命令:

gcloud dataplex datascans run DATASCAN \
--location=LOCATION

执行以下变量替换操作:

  • DATASCAN:数据分析扫描的名称。
  • LOCATION:存储 数据分析扫描已创建。

如需了解可选参数,请参阅 gcloud CLI 参考文档

REST

使用 API Explorer 运行数据分析扫描

查看数据配置文件扫描作业结果

控制台

您创建的所有数据分析扫描都会显示在配置文件页面中。

如需查看扫描的详细结果,请点击扫描的名称。

  • 概览部分显示扫描的运行时间、每次运行的时间、 扫描的表记录数和作业状态。

  • 分析扫描配置部分包含有关扫描的详细信息。

gcloud

如需查看数据配置文件扫描作业的结果,请运行以下命令:

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

执行以下变量替换操作:

  • JOB:数据配置文件扫描作业的作业 ID。
  • LOCATION:存储 数据分析扫描已创建。
  • DATASCAN:数据分析扫描的名称 所有项目。
  • --view=FULL:如需查看扫描作业结果,请指定 FULL

如需了解可选参数,请参阅 gcloud CLI 参考文档

REST

使用 APIs 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 次的数据分析扫描历史记录 或过去一年内的招聘信息(以先发生者为准)。

控制台

作业记录标签页提供有关过往作业的信息。 它列出了所有作业、每个作业中扫描的记录数、 状态、作业执行时间等。

要查看有关作业的详细信息,请点击 作业 ID

gcloud

如需查看数据分析扫描的所有作业,请运行以下命令:

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

执行以下变量替换操作:

  • LOCATION:数据所在的 Google Cloud 区域 配置文件扫描已创建。
  • DATASCAN:要查看的数据配置文件扫描的名称 所有招聘信息。

如需了解可选参数,请参阅 gcloud CLI 参考文档

REST

使用 API Explorer 查看所有扫描作业

分享已发布的结果

创建数据分析扫描时(如果您选择发布扫描结果) 请参阅“BigQuery”中的 Google Cloud 控制台,则最新的扫描结果将显示在 数据配置文件标签页。

您可以允许组织中的用户访问 已发布的扫描结果。如需授予对扫描结果的访问权限,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往个人资料页面。

    前往 Dataplex 配置文件

  2. 点击您要分享结果的数据配置文件扫描。

  3. 转到权限标签页。

  4. 点击授予访问权限

  5. 新的主账号字段中,添加您要添加到的主账号 授予访问权限。

  6. 选择角色字段中,选择 Dataplex DataScan DataViewer

  7. 点击保存

如需移除主账号对已发布扫描结果的访问权限,请按照以下说明操作 步骤:

  1. 在 Google Cloud 控制台中,前往个人资料页面。

    前往 Dataplex 配置文件

  2. 点击您要分享结果的数据分析扫描。

  3. 转到权限标签页。

  4. 选择您要移除 Dataplex DataScan DataViewer 的主账号 角色。

  5. 点击解除使用权限

  6. 点击确认

更新数据分析扫描

控制台

  1. 在 Google Cloud 控制台中,前往个人资料页面。

    转到 Dataplex 配置文件

  2. 在要修改的扫描所在的行中,点击 &gt; 修改

  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 控制台中,前往配置文件页面。前往 Dataplex 配置文件

  2. 点击要删除的扫描。

  3. 点击删除

gcloud

如需删除数据分析扫描,请运行以下命令:

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

执行以下变量替换操作:

  • DATASCAN:要扫描到的数据配置文件扫描的名称 删除。
  • LOCATION:数据所在的 Google Cloud 区域 配置文件扫描已创建。

如需了解可选参数,请参阅 gcloud CLI 参考文档

REST

使用 API Explorer 删除数据分析扫描

后续步骤