Amazon QuickSuite:自然语言数据分析实战指南
手把手教你用 Amazon QuickSuite 连接数据库、构建仪表板,并用自然语言查询数据。
在数字化转型的时代,企业已经积累了海量的业务数据。传统的数据分析通常需要专业工程师编写复杂的 SQL 查询——这成为了一个瓶颈,限制了团队提取洞察的速度。Amazon QuickSuite 是 AWS 推出的 AI 驱动数字工作空间,它将 Amazon QuickSight 的 BI 能力整合到一个统一的平台中,实现数据接入、可视化和自然语言问答。
本文将完整走一遍整个流程:连接数据库(通过公网或私有 VPC)、创建数据集和仪表板、设置用于自然语言查询的主题(Topic),并将所有内容汇聚到一个协作空间(Space)中。
背景
Amazon QuickSuite 主要解决三大核心需求:
- 统一数据接入——无论数据库、数据仓库还是 SaaS 应用位于公网还是 VPC 内部,都可以从单一控制台进行连接。
- AI 驱动的分析——不止于静态图表。平台的 AI 智能体可以将自然语言问题转换为 SQL 查询,并在数秒内返回可视化的答案。
- 协作空间——在团队之间共享仪表板、主题和 AI 生成的洞察,无需再通过邮件发送电子表格或截图。
本指南的目标是通过五个步骤,带你从原始数据库一路走到可用的自然语言问答系统。
核心组件
在深入实现之前,先快速了解一下几个关键的构建模块:
| 组件 | 用途 |
|---|---|
| 数据源(Data Source) | 到数据库(RDS、Redshift、MySQL、PostgreSQL 等)或 SaaS 应用的连接。同时支持公网和基于 VPC 的连接方式。 |
| 数据集(Dataset) | 从数据源导入的一组已定义数据。可以加载到 SPICE 引擎中以实现快速查询,也可以直接对数据源进行查询。 |
| 仪表板(Dashboard) | 基于一个或多个数据集构建的交互式可视化。支持图表、筛选器、参数和下钻。 |
| 主题(Topic) | 一个经过精心整理的数据模型,将数据库列映射到易于业务理解的名称、同义词和聚合规则——从而支持自然语言查询。 |
| 空间(Space) | 一个协作工作空间,可在其中与团队成员共享仪表板、主题和 AI 智能体。 |
| AI 智能体(AI Agent) | 自然语言问答引擎,负责理解用户问题、生成 SQL 并返回可视化答案。 |
| SPICE 引擎 | 超快并行内存计算引擎(Super-fast Parallel In-memory Calculation Engine)——一个内存存储,通过缓存来自数据源的数据来加速查询。 |
步骤一:连接你的数据库
Amazon QuickSuite 根据数据库的网络配置支持两种连接方式。
1.1 公网连接
这是较为简单的方式,适用于可通过公网访问的数据库(例如带有公有端点的 RDS 实例)。
前置条件:
- 数据库实例已启用公有端点。
- 数据库安全组允许来自你所在 AWS 区域的 QuickSuite IP 地址范围的入站连接。你可以在 AWS IP 地址范围文档 中查到这些 IP 范围。
操作步骤:
- 登录 Amazon QuickSuite 控制台。
- 进入 Datasets(数据集),点击 New dataset(新建数据集)。
- 选择你的数据源类型(例如 MySQL、PostgreSQL、MariaDB、Amazon Redshift)。
- 输入连接参数:
- Host:数据库的公有端点(例如
mydb.abc123.us-east-1.rds.amazonaws.com) - Port:数据库端口(例如 MySQL 为
3306,PostgreSQL 为5432) - Database name:要连接的具体数据库
- Username and password:对目标表拥有读取权限的凭证
- Host:数据库的公有端点(例如
- 点击 Validate connection(验证连接) 以测试连通性。
- 验证通过后,点击 Create data source(创建数据源) 保存。
1.2 VPC 私有连接
对于位于 VPC 内、没有公有端点的数据库,你需要配置 VPC 连接,以便 QuickSuite 能够通过私有网络路径访问该数据库。
何时使用这种方式:
- 数据库位于没有公有 IP 的私有子网中。
- 你所在组织的安全策略禁止使用公有数据库端点。
- 你需要在私有网络路径上实现传输加密。
前置条件:
- Amazon QuickSuite 企业版(Standard Edition 标准版不提供 VPC 连接功能)。
- 在 QuickSuite 中拥有系统管理员权限。
- 一个 VPC,其中至少有一个子网与数据库处于同一可用区,并配有允许来自 QuickSuite 流量的安全组。
操作步骤:
- 在 QuickSuite 控制台中,进入 Manage QuickSuite(管理 QuickSuite) 并选择 VPC connections(VPC 连接)。
- 点击 Add VPC connection(添加 VPC 连接),并提供:
- VPC ID:数据库所在的 VPC
- Subnet ID:与数据库实例处于同一可用区的子网
- Security group ID:允许向数据库端口出站流量的安全组
- 保存该 VPC 连接。QuickSuite 会在指定子网中创建一个弹性网络接口(ENI)。
- 更新数据库的安全组,允许来自 QuickSuite ENI 安全组的、面向数据库端口的入站流量。
- 现在创建一个新的数据源(如步骤 1.1 所示),但选择你刚刚配置的 VPC 连接,而不是使用公有端点。
- 验证并保存连接。
跨区域场景: 如果你的数据库与 QuickSuite 部署所在的 AWS 区域不同,可以在 QuickSuite 中配置 VPC 连接之前,先使用 VPC Peering(VPC 对等连接)或 AWS Transit Gateway 在两个 VPC 之间建立网络连通性。
步骤二:创建数据集
数据源连接完成后,下一步是定义一个数据集,供 QuickSuite 用于仪表板和主题。
- 在 QuickSuite 控制台中,进入 Datasets(数据集),点击 New dataset(新建数据集)。
- 选择你在步骤一中创建的数据源。
- 选择你的数据选取方式:
- Select tables(选择表):从可视化浏览器中挑选一个或多个表。如果定义了外键,QuickSuite 会自动检测表之间的关系。
- Custom SQL(自定义 SQL):编写一条 SQL 查询,精确定义要包含哪些数据。这对于希望在数据集层面定义的联接、筛选或计算列非常有用。
- 选择导入模式(import mode):
- SPICE:将数据导入内存中的 SPICE 引擎。查询很快,因为它们针对缓存而非源数据库运行。最适合无需实时刷新的数据集。
- Direct query(直接查询):直接对源数据库运行查询。数据始终保持最新,但查询性能取决于数据库的容量。
- 在**数据准备(data preparation)**界面中,你可以:
- 将字段重命名为易于业务理解的名称
- 更改数据类型(例如将字符串列转换为日期)
- 添加计算字段(例如
profit = revenue - cost) - 应用筛选器以排除无关的行
- 定义层级结构(例如 年 > 季度 > 月)
- 如果使用 SPICE,请配置一个刷新计划(refresh schedule)(例如每天 UTC 时间凌晨 2:00),使缓存数据保持相对最新。
- 点击 Save & publish(保存并发布),使该数据集可用于仪表板和主题。
步骤三:构建仪表板
仪表板将原始数据转化为交互式可视化,让业务用户无需编写 SQL 即可自行探索。
3.1 创建分析
- 进入 Analyses(分析),点击 New analysis(新建分析)。
- 选择你在步骤二中创建的数据集。
- QuickSuite 会打开分析编辑器——一个用于构建可视化的拖放式画布。
3.2 添加可视化
QuickSuite 支持多种图表类型:
- 条形图用于类别对比(例如按产品类别划分的收入)
- 折线图用于时间序列趋势(例如月活跃用户数)
- 饼图/环形图用于比例拆分
- 透视表用于多维度聚合
- KPI 组件用于突出单一指标(例如本季度总收入)
- 地理空间地图用于基于位置的数据
添加可视化的步骤:
- 点击 Add(添加) > Add visual(添加可视化)。
- 选择一种图表类型。
- 将字段从字段列表拖到图表的配置区(例如将
product_category拖到 X 轴,将revenue拖到值区)。 - QuickSuite 会自动应用默认聚合(数值字段使用 SUM,维度使用 COUNT)。你可以点击配置区中的字段并选择其他聚合方式来更改它。
3.3 添加筛选器与交互能力
- 筛选器(Filters):添加工作表级或可视化级的筛选器,让用户可以缩小数据范围(例如按日期范围或地区筛选)。
- 参数(Parameters):定义用户可设置的参数(例如目标收入阈值),并在计算字段或条件格式中引用它们。
- 动作(Actions):配置下钻动作和跨可视化筛选,使得点击某个图表中的一个条形时可以筛选另一个图表中的数据。
3.4 发布仪表板
分析完成后:
- 点击 Share(共享) > Publish dashboard(发布仪表板)。
- 为仪表板指定名称和描述。
- 选择哪些用户或用户组可以访问。
- 已发布的仪表板现在是一个只读、交互式的视图,相关干系人可以从 QuickSuite 控制台访问它。
步骤四:创建用于自然语言问答的主题
主题(Topic)是 Amazon QuickSuite 的 AI 能力真正落地的地方。主题是叠加在数据集之上的一个整理层,用于教会 AI 智能体如何理解自然语言问题。
4.1 主题定义了什么
一个配置良好的主题包含:
- 易于业务理解的字段名:与其显示
prod_cat_id,主题会将其映射为「产品类别」,这样用户就可以用自然语言询问「产品类别」。 - 同义词:同一概念的多个名称。例如,“revenue”、“sales”、“income” 和 “earnings” 都可能映射到同一个字段。这能显著提升识别准确率。
- 字段关系与层级结构:各字段之间如何关联(例如一个产品属于某个类别,一个城市属于某个地区)。
- 常见问题模式:用户可能提出的示例问题,帮助 AI 智能体理解意图。
- 默认聚合与计算:某个字段在问题中被提及时,默认应当求和、求平均还是计数。
4.2 创建主题
- 在 QuickSuite 控制台中,进入 Topics(主题)。
- 点击 Create Topic(创建主题)。
- 为主题指定名称和描述(例如「销售分析」——「就产品销量、收入和客户趋势进行提问」)。
- 选择要包含的数据集。QuickSuite 会自动分析数据结构并建议字段配置。
- 针对每个字段,进行检查和配置:
- Display name(显示名称):一个人类可读的名称(例如将
order_dt改为「订单日期」)。 - Description(描述):对字段含义的简要说明(例如「客户下单的日期」)。这有助于 AI 智能体区分相似字段。
- Synonyms(同义词):添加替代名称。对于名为「Revenue」的字段,你可以添加 “sales”、“total sales”、“income”、“earnings”。
- Aggregation(聚合):设置默认聚合方式(SUM、AVG、COUNT、MIN、MAX)。收入类字段通常默认使用 SUM;评分类字段默认使用 AVG。
- Data type semantic(数据类型语义):将字段标记为维度、度量或日期字段,以便 AI 智能体知道如何对其进行分组和聚合。
- Display name(显示名称):一个人类可读的名称(例如将
- 如果你的主题跨越多个表,请配置字段关系(field relationships)。例如,将
orders.customer_id关联到customers.id,使智能体能够回答跨越两个表的问题。 - 添加示例问题(sample questions),帮助训练 AI 智能体:
- “What was total revenue last quarter?”(上个季度的总收入是多少?)
- “Show me the top 10 products by sales”(按销量列出前 10 个产品)
- “How does revenue compare across regions this year vs. last year?”(今年与去年相比,各地区的收入对比如何?)
- 点击 Save(保存) 以发布该主题。
4.3 测试与优化
创建主题后,用自然语言问题对它进行测试:
- 打开主题,使用内置的问答界面。
- 用自然语言输入问题,例如 “What are the top 5 selling products this month?”(本月销量前 5 的产品是哪些?)。
- 检查生成的 SQL 和结果。如果 AI 误解了某个问题,请返回并:
- 为相关字段添加更多同义词
- 完善字段描述
- 将被误解的问题作为示例问题添加进去,并附上正确的解读
- 反复迭代,直到主题能够可靠地回答用户可能提出的问题。
步骤五:在空间中汇聚一切
空间(Space)是一个协作工作空间,你可以在其中将仪表板、主题和 AI 智能体组装成为团队服务的统一体验。
- 进入 Spaces(空间),点击 Create Space(创建空间)。
- 为空间指定名称(例如「销售分析中心」)和描述。
- 向空间添加内容:
- Dashboards(仪表板):添加你在步骤三中创建的仪表板。
- Topics(主题):添加你在步骤四中创建的主题。这样便可在空间内直接启用自然语言问答栏。
- AI Agent(AI 智能体):为该空间启用 AI 智能体,让团队成员可以提问并即时获得答案。
- 配置访问权限(access permissions):
- 添加个人用户或用户组。
- 设置角色(Viewer 查看者、Contributor 贡献者、Admin 管理员),以控制谁可以查看、编辑或管理该空间。
- 保存并将空间 URL 分享给你的团队。
现在,团队成员可以打开空间、浏览仪表板获取可视化洞察,并在问答栏中输入自然语言问题以获得即时的、AI 生成的答案——全程无需编写任何一行 SQL。
总结
本指南所涵盖的端到端工作流程包含五个步骤:
- 连接(Connect)——建立数据源连接(公网或 VPC 私有)。
- 建模(Model)——创建带有易于业务理解的字段名、计算字段和刷新计划的数据集。
- 可视化(Visualize)——构建带有图表、筛选器和跨可视化动作的交互式仪表板。
- 整理(Curate)——创建带有同义词、描述和示例问题的主题,以实现准确的自然语言问答。
- 协作(Collaborate)——将所有内容组装到一个空间中,让团队成员可以探索仪表板并用自然语言提问。
打造良好自然语言问答体验的关键,在于在步骤四上投入时间——你的主题配置的同义词、描述和示例问题越完善,AI 智能体解读和回答用户查询就越准确。先从一个小而定义清晰的数据集入手,让主题稳定可靠地运作起来,然后再逐步扩展。
参考资料
- Amazon Quick Suite — AWS
- Amazon Athena User Guide — AWS Documentation