本文档介绍了如何使用 Knowledge Studio 发现相关数据资产并就这些资产进行对话、直观探索这些数据资产之间的关联,以及使用自然语言查找有关这些数据资产的答案。Knowledge Studio 将对话式聊天界面与交互式上下文图相结合,帮助您直观地探索和浏览整个数据全貌。
本文档适用于希望使用自然语言查询其企业元数据,并在上下文图表中直观浏览其数据资产关系的数据分析师、业务分析师和数据监管人员。
数据探索的工作原理
新对话界面提供以下交互式数据发现功能:
自然语言界面:使用英语就您的数据资产提出问题(例如,“哪些表包含欧洲客户流失指标?”)。
由 Gemini 提供支持的对话:该智能体由 Gemini 提供支持,可解析您的自然语言问题,针对 Knowledge Catalog 运行搜索和元数据查找工具,制定多步骤探索计划,并在可收起的思考轨迹中显示其进度。
上下文图表可视化工具:以交互方式浏览数据集、表、查询和业务术语之间的关系。可视化图表会显示构成探索会话的工作上下文集的活跃节点和条目链接。点击节点可检查详细的列架构、查看活跃节点抽屉式导航栏列表,或按资产类型过滤图表。
BigQuery 编码辅助执行:在探索界面中直接针对数据仓库运行生成的 SQL 查询,以验证数据关系。
上下文图表可直观呈现语义业务关系、术语库定义和经过验证的联接路径。它不是一个可运行的 ETL 流水线执行查看器。如需检查流水线转换步骤、运行时作业或操作数据流(例如 Dataflow 流水线),请查看 Knowledge Catalog 数据沿袭。如需了解详情,请参阅使用数据沿袭。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud新手,请 创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
- 验证您的数据资产是否存在。Knowledge Catalog 会自动从核心 Google Cloud 服务中提取结构和操作元数据,而无需手动配置。对于拥有定制知识库、第三方治理工具或本地系统的组织,Knowledge Catalog 提供了灵活的提取机制:
- 可选:验证是否已在 Knowledge Catalog 中配置业务术语库和术语(例如业务 KPI 定义),并将其关联到您的底层数据资产。如需了解详情,请参阅管理业务术语库。
- 启用所需的 API:
核心探索所需:
- Dataplex API (
dataplex.googleapis.com):打开 Knowledge Studio、搜索目录以及探索上下文图谱和术语库时需要。
每项功能(在您的项目中启用)所需:
- BigQuery API (
bigquery.googleapis.com):用于浏览 BigQuery 数据集和表、检查查询作业以及运行 SQL 查询。 - Data Lineage API (
datalineage.googleapis.com):用于浏览上游和下游数据沿袭,以及检查沿袭流程。 - Gemini Data Analytics API (
geminidataanalytics.googleapis.com):用于使用 BigQuery 对话式数据分析和生成数据分布分析洞见。 - Google Documents API (
docs.googleapis.com):用于读取对话提示中链接的 Google 文档。
- Dataplex API (
所需的角色
如需获得在 Knowledge Studio 中探索数据资产和上下文图谱所需的权限,请让管理员为您授予项目的以下 IAM 角色:
-
核心目录搜索和上下文图谱探索:
- Dataplex Catalog Viewer (
roles/dataplex.catalogViewer) - Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer)
- Dataplex Catalog Viewer (
-
浏览 BigQuery 元数据并运行 SQL 查询:
- BigQuery Metadata Viewer (
roles/bigquery.metadataViewer) - BigQuery Data Viewer (
roles/bigquery.dataViewer) - BigQuery Job User (
roles/bigquery.jobUser)
- BigQuery Metadata Viewer (
-
使用 BigQuery 对话式分析:
- Gemini for Google Cloud Data Agent Stateless User (
roles/geminidataanalytics.dataAgentStatelessUser) - BigQuery Data Viewer (
roles/bigquery.dataViewer) - BigQuery Job User (
roles/bigquery.jobUser)
- Gemini for Google Cloud Data Agent Stateless User (
-
浏览数据沿袭:
- Data Lineage Viewer (
roles/datalineage.viewer) - BigQuery Resource Viewer (
roles/bigquery.resourceViewer)
- Data Lineage Viewer (
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
向您的用户账号授予角色
如果您拥有在项目中管理 Identity and Access Management (IAM) 访问权限所需的权限,则可以向自己的用户账号授予这些角色。如需授予角色,请使用 gcloud projects add-iam-policy-binding 命令:
在使用下面的命令数据之前,请先进行以下替换:
- PROJECT_ID:您的 Google Cloud 项目 ID。
- USER_EMAIL:您的用户账号邮箱(例如
name@example.com)。
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_EMAIL" \ --role="roles/dataplex.catalogViewer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_EMAIL" \ --role="roles/serviceusage.serviceUsageConsumer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_EMAIL" \ --role="roles/bigquery.metadataViewer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_EMAIL" \ --role="roles/bigquery.dataViewer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_EMAIL" \ --role="roles/bigquery.jobUser" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_EMAIL" \ --role="roles/geminidataanalytics.dataAgentStatelessUser" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_EMAIL" \ --role="roles/datalineage.viewer" gcloud projects add-iam-policy-binding PROJECT_ID \ --member="user:USER_EMAIL" \ --role="roles/bigquery.resourceViewer"
Windows (PowerShell)
gcloud projects add-iam-policy-binding PROJECT_ID ` --member="user:USER_EMAIL" ` --role="roles/dataplex.catalogViewer" gcloud projects add-iam-policy-binding PROJECT_ID ` --member="user:USER_EMAIL" ` --role="roles/serviceusage.serviceUsageConsumer" gcloud projects add-iam-policy-binding PROJECT_ID ` --member="user:USER_EMAIL" ` --role="roles/bigquery.metadataViewer" gcloud projects add-iam-policy-binding PROJECT_ID ` --member="user:USER_EMAIL" ` --role="roles/bigquery.dataViewer" gcloud projects add-iam-policy-binding PROJECT_ID ` --member="user:USER_EMAIL" ` --role="roles/bigquery.jobUser" gcloud projects add-iam-policy-binding PROJECT_ID ` --member="user:USER_EMAIL" ` --role="roles/geminidataanalytics.dataAgentStatelessUser" gcloud projects add-iam-policy-binding PROJECT_ID ` --member="user:USER_EMAIL" ` --role="roles/datalineage.viewer" gcloud projects add-iam-policy-binding PROJECT_ID ` --member="user:USER_EMAIL" ` --role="roles/bigquery.resourceViewer"
Windows (cmd.exe)
gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:USER_EMAIL" ^ --role="roles/dataplex.catalogViewer" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:USER_EMAIL" ^ --role="roles/serviceusage.serviceUsageConsumer" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:USER_EMAIL" ^ --role="roles/bigquery.metadataViewer" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:USER_EMAIL" ^ --role="roles/bigquery.dataViewer" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:USER_EMAIL" ^ --role="roles/bigquery.jobUser" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:USER_EMAIL" ^ --role="roles/geminidataanalytics.dataAgentStatelessUser" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:USER_EMAIL" ^ --role="roles/datalineage.viewer" gcloud projects add-iam-policy-binding PROJECT_ID ^ --member="user:USER_EMAIL" ^ --role="roles/bigquery.resourceViewer"
您可以在 Cloud Shell 中或在安装并初始化了 Google Cloud CLI 的本地终端中运行这些命令。
打开探索界面
在 Google Cloud 控制台中,前往 Knowledge Studio(预览版)。
该界面会显示以下界面元素:
边栏:可让您开始新的探索会话(新对话)、搜索之前的对话会话,或在新对话、上下文集和丰富界面之间切换。
对话式聊天窗口:包含一个中央提示字段,其中有模型选择器和预设提示词条状标签,例如我的 Knowledge Catalog 中有哪些数据?。
显示图表面板 图标:打开或关闭上下文图表面板。
使用自然语言发现数据资产
如需搜索数据资产,请在新对话界面提示字段中输入问题,或点击某个预设提示词条状标签(例如我在 Knowledge Catalog 中有哪些数据?)。
Gemini 会分析您的请求,运行内部发现工具,并在对话面板中显示结构化结果。
根据您的查询,智能体的对话回答可能包括:
- 匹配资产展开器:显示发现的数据资产的交互式卡片摘要,这些资产按类型(例如表或术语表)分组。
- 文本摘要:描述找到的核心数据集、表和术语表。
- 后续指导:智能体会建议后续步骤,例如探索特定网域或检查表架构。
图 1. 聊天回答,其中显示了匹配的资产、数据集摘要和后续指导。(点击图片可放大。) 可选:如需检查智能体的推理步骤和内部工具调用,请展开对话回答中的思考部分。本部分详细说明了代理的多阶段搜索策略,包括它如何从广泛的发现查询逐步过渡到有针对性的资产过滤。以下列表显示了代理为回答您的请求而可能执行的一些内部操作:
目录搜索:使用关键字和语义匹配(例如,按
type=dataset或type=context-set过滤),通过精确的项目限制条件查询 Knowledge Catalog。如需详细了解底层机制,请参阅搜索数据资产。元数据检索:检索匹配条目的架构、说明和沿袭。对于 BigQuery 表,它还会提取关联的业务术语库和结构上相关的表。如需详细了解底层 API,请参阅检索数据资产的上下文。
界面呈现:在对话面板中将检索到的元数据格式化为互动卡片。
配置搜索范围和推理
为了帮助 Gemini 提供最准确的回答,同时最大限度地缩短您等待回答的时间,您可以使用聊天提示词框下方的下拉控件来限制智能体的目标环境和推理复杂程度:
探索以下项目中的数据:将智能体的内部搜索操作限制为一个或多个特定 Google Cloud 项目。
如果您有大量 Knowledge Catalog 资源,并且确切知道哪些项目包含目标数据资产,请选择此选项。按项目过滤可显著加快发现速度,并防止代理产生幻觉或从测试或预演环境中返回名称相似的表。如果您不知道数据所在的位置,请将此设置保留为所有项目。
思考水平:控制智能体对提示的推理深度,决定其在回答之前对查询可能性的评估详尽程度以及对搜索结果的迭代次数。
如果您需要平衡回答速度与搜索的全面性,请选择此选项。 * 如果已知资产名称,请选择低,以便快速、直接、简单地查找关键字。 * 对于典型的探索工作流,选择中,其中智能体可能需要执行一两个后续查询。 * 对于复杂、模糊或不明确的问题,请选择高,此时代理必须执行多阶段搜索策略、评估初始结果并优化查询,然后才能返回最终答案。
运行专用分析智能体
默认情况下,由 Gemini 提供支持的对话会将查询限制为结构化元数据和描述性目录。如果您的问题需要进行深入的数据分析或针对实际表数据运行查询,您可以在对话提示中直接添加特定提及,从而调用专门的分析代理。
下表列出了支持的分析代理及其功能:
@BqJobs:调用 BigQuery 查询作业智能体。添加此参数后,由 Gemini 赋能的对话功能将获得直接对表执行 SQL 语句的权限。如果您希望智能体通过查询数据(而不仅仅是查看元数据)来回答您的问题,请使用此提及。Google 文档链接:将 Google 文档链接粘贴到对话中,以便代理读取文档内容。您必须拥有对关联文档的 Google 云端硬盘查看者访问权限,并且必须在项目中启用 Google Drive API。
@BqCA:调用 BigQuery 对话式分析代理。添加此工具后,系统会将您的分析问题(例如,关于趋势、聚合或复杂商业智能工作流的问题)以及表上下文一并传输给高度专业化的子代理,该子代理能够执行高级的多步骤 SQL 推理。
如需详细了解这些子代理的功能、所需权限和价格,请参阅 BigQuery 中的对话式分析。
直观呈现语义关系
上下文图是一个交互式画布,您可以在其中查看技术存储资源及其与逻辑业务语义的关系。
探索数据连接
如需在图表画布上主动探索和扩展语义关系,您首先需要加载图表。
如需从对话结果中加载初始上下文图表,请点击匹配的资产图块中的任意条目卡片。上下文图表面板会显示该数据资产及其关联实体的交互式拓扑图。
例如,如需了解上下文图如何将业务逻辑映射到数据存储,请考虑图 2 中所示的 szelwico_curated_retail_analytics 图。
此图表用作零售加油站网络和便利店的报告和分析型数据仓库。
该图表将技术数据资产和业务规则整合到一个视图中:
- 核心事实表:蓝色 BigQuery 节点表示交易数据,例如每日燃油销售额 (
fact_daily_station_fuel_sales) 和会员回馈活动效果 (fact_loyalty_promo_attribution)。 - 维度表:其他蓝色节点表示经过扩充的维度表,例如站点 (
dim_stations_enriched) 和客户车队 (dim_customers_and_fleets)。 - 受管控的业务逻辑:黄色节点表示术语库术语,这些术语为数据定义了严格的计算规则。例如,Friday Golden Pump 20% Discount 节点定义了如何计算忠实会员的折扣后净费用。
- 关系:节点之间的连线说明了表如何联接在一起,例如加油站维度表如何与每日燃油销售事实表联接。
上下文图表画布
上下文图表画布提供以下主要界面区域,可帮助您探索数据拓扑:
- 画布标题:顶部标题菜单显示活跃节点数和上下文集标题,并提供布局和渲染选项:
- “搜索条目”字段:在按名称、数据集或说明搜索条目字段中输入关键字,以搜索新的数据资产并将其直接手动添加到画布布局中。
- 全屏图标:使用 图标可展开画布视口,使其填满整个屏幕。
- 图表查看选项:点击更多选项 () 图标,打开用于管理渲染的菜单。它提供以下切换开关:
- 仅焦点节点:隐藏周围的连接,仅突出显示上下文中的节点。
- 显示边缘:切换所有边缘关系线的可见性,以整理和加快密集图表。
- 突出显示容器:突出显示节点所在的结构化数据库分组,例如数据集或术语表。
- 显示浏览器:切换节点列表边栏浏览器的可见性。
- 打开图表图例:显示图表视觉词汇的定义。
- 图表过滤条件:点击图表控件 () 图标可打开过滤条件面板,您可以通过过滤连接来控制图表密度。它提供以下过滤条件类别:
- 类型:按实体类型(例如表和视图、术语表术语、数据产品或上下文)过滤节点。
- 关系:按关系类型(例如架构联接、相关、定义、上下文或软件包)过滤连接节点的彩色边缘。
- 沿袭:控制数据沿袭边缘的可见性,包括上游(流入节点的沿袭)和下游(流出节点的沿袭)的切换开关。
- 孤立节点:选择显示所有节点、隐藏未连接的节点或仅显示孤立节点。
- 跃点深度:在画布上选择一个锚节点来测量距离,然后选择一个数值距离(例如 1、2、3 或全部),以滤除距离锚点更远的任何节点。
- 画布缩放控件:画布左下角提供了视图控件,用于管理视口渲染:
- 缩放控件:使用放大 () 和缩小 () 按钮可缩放图表。
- 适应屏幕:使用 图标调整图表布局的大小,使其安全地适应视口。
了解图表视觉元素
上下文图表使用特定的颜色、图标和边缘样式来表示不同类型的数据资产及其关系。如需查看图表视觉词汇的定义,请点击更多选项 () 图标,然后选择打开图表图例。
节点状态
节点会显示标记,以指示其在画布上的当前状态:
- Selected:您正在检查的条目。图表的其余部分会变暗,以便突出显示其连接。
- 在智能体焦点中:您关注的部分内容:您和智能体正在探索的工作集。
- 正在展开:表示系统正在加载与此条目相关的条目(例如沿袭、联接和术语表术语),并将其添加到图表中。
数据源颜色编码
节点的颜色表示其底层数据源或实体类型:
- 蓝色:BigQuery(表、视图、数据集)。
- 蓝绿色:Lakehouse(目录、命名空间、表、视图)。
- 黄色:术语库、目录或 Knowledge Catalog(术语库、术语、目录)。
- 棕色:数据库或存储(Spanner、AlloyDB、Cloud Storage)。
- 粉色:dbt(模型、语义模型、测试、宏、曝光)。
- 橙色:数据产品。
- 红色:上下文(上下文集)。
- 绿色:Looker(LookML 项目、模型、探索、视图)。
- 灰色:自定义资产(自定义条目群组和不受支持的条目类型)。
关系边缘
连接节点的线条表示语义关系。您可以使用过滤条件面板过滤这些边缘(如探索数据连接中所述):
- 架构联接:蓝色边,用于映射经过验证的多表联接路径、主键和外键。
- 定义:将底层表列直接连接到经过认证的业务术语库术语和 KPI 公式的橙色边。
- 上下文:将特定上下文归因于目标数据资产的灰色边。
- 软件包:灰色边缘,显示哪些数据资产捆绑到特定数据产品中。
手动向上下文图谱添加条目
您无需仅依赖聊天命令,而是可以直接从画布界面手动为上下文图谱提供特定数据资产。如果您已经知道要连接和直观呈现哪些资源,此方法非常有用。
如需搜索特定资产并将其添加到图表中,请执行以下操作:
- 如需搜索条目,请点击画布标题中的按名称、数据集或说明搜索条目字段。
- 可选:如需更改目标项目,请在项目下拉菜单中选择一个 Google Cloud 项目(默认情况下,此选项设置为所有项目)。
- 输入关键字、数据集名称或条目说明。
- 如需将节点放置到画布上,请点击匹配的搜索结果下拉列表中的所需条目。图表会更新以显示新节点,并自动映射任何现有的语义或结构关系。
探索特定节点的连接
如需查看元数据详细信息、展开关系或对活动画布上的单个节点执行其他操作,您可以使用不同的鼠标点击方式直接与节点互动。
如需与特定节点互动,请使用以下方法之一:
查看元数据:如需打开侧边栏,显示所选资产的详细元数据(例如连接的节点),请单击该节点。
图 4. 节点的元数据详细信息侧边栏。(点击图片可放大。) 打开更多选项:如需执行其他操作(例如跟踪沿袭或移除节点),请右键点击节点以打开其上下文菜单。在此菜单中,您可以选择以下操作:
图 5. 节点的上下文菜单。(点击图片可放大。) - 展开:按关系类型提取并显示直接邻居连接。
- 从智能体焦点中移除:从您和智能体正在探索的工作集中排除该节点。
- 复制条目 ID:复制资产的唯一标识符。
- 上游沿袭:跟踪并展开流入节点的数据沿袭。
- 下游沿袭:跟踪并展开从节点流出的数据沿袭。
- 从图表中移除:从活动画布中移除节点。
展开关系:如需一次性展开所有关系(显示所有关联的表、视图和术语表术语),请双击节点。该节点会显示一个收起标志 (
-),表示其连接已展开。如需收起关系,请再次双击该节点。
查询和扩展活跃上下文
由 Gemini 提供支持的对话功能可在不同提示之间保持对话上下文。由于活跃上下文图表保存在工作内存中,因此您可以提出后续问题、向外扩展图表或生成查询,而无需重复之前的细节。
就上下文中的素材资源提问
当您询问画布上已有的资产时,代理会直接检查内存中的上下文图表,而不会重新调用发现工具。
如需就画布上的资产提问,请执行以下操作:
在提示字段中,输入有关画布上资产的关联业务术语或元数据的问题,然后点击 发送。例如:
Are there any glossaries connected to TABLE_NAME?将 TABLE_NAME 替换为加载到上下文图谱中的表或数据资产的名称(例如
customers)。智能体检查内存中的活跃上下文图,并返回连接的业务术语库术语和列关系的对话式摘要,而无需重新查询目录。
可选:如需使用外部知识回答问题,请在提示中提供指向外部 Google 文档的链接。智能体可以读取文档内容,并利用这些外部知识来回答您的问题。
遍历和扩展语义图
当您要求探索活跃图谱之外的新关系或更深层次的关系时,代理会动态切换其工具策略,以发现架构联接、术语表定义或自定义语义文档等连接。
如需从业务概念或实体向外跟踪关系,请执行以下操作:
在提示字段中,输入向外跟踪关系的请求,然后点击 发送。例如:
Show how my data is connected to GLOSSARY_TERM将 GLOSSARY_TERM 替换为目录中业务术语库术语的名称(例如
Customer Value)。智能体会遍历语义图边缘(例如基于查询的
schema-join链接、术语表的definition链接或数据产品的packages),并将新发现的表添加到画布中。图表会以新探索的词汇表节点为中心,呈现其语义链接,并更新活跃节点计数器。
生成 SQL 并检查分布
在聊天界面中探索资产时,您可以使用内嵌的 BigQuery 对话式分析直接对数据进行深入分析。
如需使用活跃上下文生成查询并检查数据分布,请执行以下操作:
在提示字段中,让智能体使用可见节点编写查询,然后点击 发送。例如:
Generate a query to calculate average customer balance by region using the active tables.智能体使用活跃上下文图作为依据,生成包含经过验证的联接键(例如
customer_id和region_id)的上下文感知型 SQL。可选:如需评估数据分布,请向代理请求统计摘要。
该智能体可以在对话窗口中执行查询并呈现内嵌数据分布图表,帮助您在编写自定义代码之前评估数据分布。
管理聊天记录
Knowledge Studio 会自动保存您的探索会话,让您可以直接从导航窗格中搜索、恢复或删除之前的对话。
如需查看或管理对话记录,请执行以下操作:
- 在 Knowledge Studio 导航窗格中,确保最近部分已展开。
- 如需查找特定的过往对话,请在搜索对话字段中输入与对话之前的问题或上下文相关的关键字。
- 如需继续探索会话,请点击列表中的对话名称。 此操作会恢复您之前的对话。
- 如需删除过往对话,请将光标指向列表中的对话名称,然后点击 删除图标。