本文档介绍了如何在 Dataplex Universal Catalog 中使用搜索功能来搜索 BigQuery 数据集、Cloud SQL 实例等资源。
Dataplex Universal Catalog 提供两种搜索模式:关键字搜索和自然语言搜索(预览版)。
借助关键字搜索,您可以使用特定关键字、过滤条件和定义的语法来查找资源。
自然语言搜索功能扩展了关键字搜索功能,可支持自然语言查询。借助该功能,您可以使用日常用语查找资源,无需使用复杂的语法。
如需详细了解 Dataplex Universal Catalog 中支持的 Google Cloud 资产,请参阅支持的 Google Cloud 数据源。
搜索范围
Dataplex Universal Catalog 中的搜索结果会遵循您对源系统中相应资源所具有的权限。
例如,如果您拥有某个对象的 BigQuery 元数据读取权限,则该对象会显示在 Dataplex Universal 搜索结果中。如果您有权访问 BigQuery 表,但无权访问该表所属的数据集,则表仍会按预期显示在 Dataplex Universal Catalog 搜索中。
默认情况下,搜索范围限定为您的组织。结果仅包含与您搜索的项目属于同一组织的资源。
搜索结果仅包含与执行搜索的项目属于同一 VPC-SC 边界的资源。使用Google Cloud 控制台时,这是在控制台中选择的项目。
如需将搜索结果范围扩大到项目 VPC Service Controls 边界内的资源之外,请使用 VPC Service Controls 入站和出站规则。这些规则有助于在组织中以不公开方式高效地交换数据。您可以使用Google Cloud 控制台或通过 JSON 或 YAML 文件来配置入站和出站规则。请参阅以下 YAML 示例并查阅 VPC Service Controls 文档,以便根据您的具体要求调整规则。
egressPolicies:
- egressFrom:
identityType: ANY_USER_ACCOUNT
egressTo:
# Specify which resources should be present in the search results. In this example,
# BigQuery.
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
# Specify project ids under which the search is performed.
resources:
- projects/SEARCH_PROJECT_ID
ingressPolicies:
- ingressFrom:
identityType: ANY_USER_ACCOUNT
sources:
- accessLevel: '*'
ingressTo:
# Specify which resources should be present in the search results. In this example,
# BigQuery.
operations:
- methodSelectors:
- method: '*'
serviceName: bigquery.googleapis.com
# Specify project ids to expose in search results.
resources:
- projects/INGRESS_PROJECT_ID
如需详细了解您需要使用 Dataplex Universal Catalog 搜索的 Identity and Access Management 角色,请参阅 Dataplex Universal Catalog IAM 角色。
使用 VPC Service Controls 按环境隔离搜索结果
如需在开发、测试和生产等环境之间隔离 Dataplex Universal Catalog 搜索结果,请为每个环境配置单独的 VPC Service Controls 边界。将包含数据资产的项目和用于执行搜索的项目都分配到相应环境的边界。从特定边界内的项目执行的搜索将仅返回位于同一边界内的资产的结果。
搜索中的召回限制
Dataplex Universal Catalog 搜索查询并不能保证完全召回。系统可能不会返回与您的查询匹配的结果。此外,如果您重复搜索查询,返回(和未返回)的结果可能会有所不同。
如需查询所有 Dataplex Universal Catalog 元数据,您可以将元数据导出到 Cloud Storage,然后从 BigQuery 中查询这些元数据。如需了解详情,请参阅导出元数据。
过滤条件
借助过滤条件,您可以缩小搜索结果的范围。过滤条件可用于关键字搜索和自然语言搜索,但可用选项可能会因模式而略有不同。
如果您在多个部分中提供过滤条件,系统会使用 AND
逻辑运算符对这些过滤条件进行评估。搜索结果包含与所选每个部分中至少一个条件相匹配的资源。例如,如果您选择 BigQuery 系统和数据集资源类型,则搜索结果会包含 BigQuery 数据集,但不包含 Vertex AI 数据集。
如果您在单个部分中选择多个过滤条件,系统会使用 OR
逻辑运算符来评估这些过滤条件。例如,如果您选择数据集资源类型和表资源类型,则搜索结果会同时包含数据集和表。
关键字搜索过滤条件
对于关键字搜索,过滤条件分为以下部分:
- 系统,例如 BigQuery、Cloud SQL 等。Dataplex Universal Catalog 系统包含自定义条目。
- 切面(标记),列出您可以使用的所有切面。
- 项目,列出您可以使用的所有项目。
- 类型别名,描述数据库、数据集、模型、表、视图、服务和自定义类型等资源类型。
- 数据集,来自 BigQuery。
按切面值过滤
借助切面过滤条件,您可以查询使用特定模板标记的资产。您可以使用自定义菜单进一步优化结果,并按特定的切面值进行过滤。切面值过滤条件取决于相应切面字段的数据类型。例如,对于 datetime
和 number
字段,您可以指定特定日期或日期范围。
过滤条件可见性
系统、类型别名、项目和数据集过滤条件会根据搜索字段中的当前查询显示。
自然语言搜索过滤条件
对于自然语言搜索,您可以使用以下过滤条件:
- 范围:在整个组织(默认)、当前项目或仅在已加星标的资源中进行搜索。如需了解详情,请参阅本文档的搜索范围部分。
- 系统:资源所属的 Google Cloud 服务,例如 BigQuery。Dataplex Universal Catalog 系统包含条目组。
- 项目:要搜索的项目。
- 类型:资源类型,例如 BigQuery 连接、Cloud Storage 存储桶或数据库。根据资源类型的不同,您还可以按子类型(例如连接类型或 SQL 方言)进行过滤。
- 选择位置:要搜索的位置。
- 选择数据集:搜索结果仅限于属于所选 BigQuery 数据集的 BigQuery 资源。 在输入内容进行过滤字段中,输入数据集的名称。
- 切面类型:与您要搜索的资源相关联的 Dataplex Universal Catalog 切面类型。如需按切面值过滤,请点击按注解值过滤,然后选择相应值。
准备工作
在执行搜索之前,请确保您已被授予所需的角色,并且已启用必要的 API。
所需的角色
本部分介绍了搜索资源和访问搜索结果所需的角色和权限。
如需详细了解如何授予角色,请参阅管理访问权限。
搜索条目所需的角色
如需搜索条目,您需要对用于搜索的项目至少拥有以下一个 IAM 角色:Dataplex Catalog Admin、Dataplex Catalog Editor 或 Dataplex Catalog Viewer。系统会独立于所选项目检查搜索结果的权限。
访问搜索结果所需的角色
Dataplex Universal Catalog 中的搜索结果的范围取决于您的角色。如需在 Dataplex Universal Catalog 中搜索资产,您必须拥有访问来源系统中相应资源的权限。如需了解详情,请参阅本文档中的搜索范围部分。
例如,如需搜索 BigQuery 数据集、表、视图和模型,您需要拥有这些条目的相应权限。如需了解详情,请参阅 BigQuery 权限。
以下列表介绍了所需的最低权限:
- 如需搜索表,您需要拥有该表的
bigquery.tables.get
权限。 - 如需搜索数据集,您需要拥有该数据集的
bigquery.datasets.get
权限。 - 如需搜索数据集或表的元数据,您需要拥有 BigQuery Metadata Viewer 角色 (
roles/bigquery.metadataViewer
)。
再举一例,如需搜索 Cloud SQL 实例、数据库、架构、表和视图,您需要拥有这些条目的相应权限。如需了解详情,请参阅 Cloud SQL 角色和权限。
如需搜索自定义条目,您需要拥有 Dataplex Catalog Viewer 角色 (roles/dataplex.catalogViewer
)。
启用 API
Enable the Dataplex API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin
), which
contains the serviceusage.services.enable
permission. Learn how to grant
roles.
搜索资源
控制台
如需搜索资源,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Dataplex Universal Catalog 搜索页面。
对于选择搜索平台,选择 Dataplex Universal Catalog。
选择 Dataplex Universal Catalog 可让您在 Dataplex Universal Catalog 元数据存储中进行搜索。如果您是现有 Data Catalog 用户,选择 Data Catalog 可让您在 Data Catalog 仓库中进行搜索。
如需使用关键字搜索,请按以下步骤操作:
在跨项目查找资源字段中,输入查询内容。
如需优化搜索,请使用过滤条件面板。如需查看可用过滤条件的列表,请参阅关键字搜索过滤条件。
您可以手动添加以下过滤条件:
- 添加项目过滤条件:在项目中,点击添加项目。搜索特定项目,选择该项目,然后点击打开。
- 添加切面类型过滤条件:在切面中,点击添加更多切面类型菜单。搜索特定模板,选择该模板,然后点击确定。
可选:除了您可以使用的资产之外,您还可以通过选择包括公共数据集来搜索在 Google Cloud 中公开提供的资源。
请按照以下提示构建搜索查询:
- 如果搜索表达式包含空格,请将其用英文引号括起来。例如,
"search terms"
。 - 在关键字前面加上
NOT
,以匹配keyword:term
过滤条件的逻辑求反。您还可以使用AND
和OR
布尔运算符来组合搜索表达式。AND
、OR
和NOT
运算符不区分大小写。
例如,
NOT column:term
会列出除与指定字词匹配的列之外的所有列。如需查看可在 Dataplex Universal Catalog 搜索表达式中使用的关键字和其他字词的列表,请参阅搜索语法。- 如果搜索表达式包含空格,请将其用英文引号括起来。例如,
如需使用自然语言搜索,请按以下步骤操作:
点击尝试自然语言搜索。
在使用自然语言在多个项目中查找资源字段中,用自然语言输入查询内容,然后按 Enter 键。
以下是一些示例查询:
Show me the datasets that contain taxi information
Find data on vaccine distribution across different countries
Get tables with historical temperature data for major world cities
Search for hurricane tracking and storm activity datasets
Population data by country
如需优化搜索,请点击过滤条件。 如需查看可用的过滤条件列表,请参阅自然语言搜索过滤条件。
如需查看有关所搜索资源的更多信息,请在搜索结果中点击相应资源名称。系统随即会打开条目详情页面。
gcloud
如需搜索资源,请使用 gcloud dataplex entries search
命令。
REST
如需搜索资源,请使用 searchEntries
方法。
查看条目的详细信息
控制台
使用 Dataplex Universal Catalog 搜索功能查看条目的详细信息。
gcloud
如需查看条目的详细信息,请使用 gcloud dataplex entries lookup
命令。
REST
如需查看条目的详细信息,请使用 lookupEntry
方法。
限制
自然语言搜索存在以下限制:
自然语言搜索经过优化,可返回一组相关度最高的搜索结果,以便您发现和探索所需信息。它可能无法提供所有匹配项的完整列表,因此可能不适合依赖于此的工作负载,例如内容整理流水线。
自然语言搜索仅考虑资源元数据,包括架构、说明和切面。它不会回答有关表内数据的问题(例如“上个月的销售额是多少?”),也不会对元数据执行分析查询(例如“数据集 X 中有多少个表?”)。
公开资源不在自然语言搜索的范围内。
后续步骤
- 了解 Dataplex Universal Catalog 的搜索语法。
- 详细了解 Dataplex Universal Catalog 中的元数据管理。
- 了解如何使用切面通过元数据丰富条目。
- 了解如何管理条目和注入自定义来源。