写点什么

强强联合:借助 Snowflake 与 Amazon Quick,释放 AI 驱动的商业智能潜能 | 技术实践

  • 2026-03-11
    北京
  • 本文字数:4887 字

    阅读完需:约 16 分钟

2026 年,智能体将在企业级应用中取得哪些实质性突破?点击下载《2026 年 AI 与数据发展预测》白皮书,获悉专家一手前瞻,抢先拥抱新的工作方式!

Snowflake 是一个完全托管的 Data & AI 平台,以易用性、广泛的连接能力,以及对企业数据资产的无缝集成而备受全球成千上万客户的信赖。该平台与 Amazon Web Services 深度集成,旨在加速企业级数据与人工智能(AI)技术的落地应用。本快速入门指南将重点介绍 Snowflake 与 Amazon Quick 的集成方案,帮助用户构建由 AI 驱动的商业智能(BI)能力,实现对企业全域数据源的统一智能分析,并打通从洞察获取到行动执行的“最后一公里”关键环节。

本次集成的核心亮点在于 Snowflake 引入的全新架构对象——语义视图。语义视图赋予原始企业数据以业务含义与上下文,通过定义“指标”(例如总观看量、用户评分)与“维度”(如电影、类型),在人机交互的自然语言与复杂数据结构之间建立起一座可靠的桥梁。语义视图将组织的业务上下文与数据定义直接嵌入数据层,从而确保 AI 与 BI 系统能够以统一方式解读数据,提供可信的分析结果,并显著降低 AI 模型产生幻觉的风险。

用户可在 Cortex Analyst 中直接使用语义视图,并在 SELECT 查询中对其进行调用。此外,语义视图支持通过私有列表、Snowflake 市场上的公共列表以及组织内部列表进行共享。通过在物理数据之上附加明确的业务语义,语义视图有效提升了数据驱动决策的精准度,并确保不同企业应用之间的业务定义保持一致。

作为 Snowflake 的原生架构对象,语义视图还提供对象级别的访问控制能力:用户可像对待普通表和视图一样,授予或限制对语义视图的使用与查询权限,从而确保在 SQL 查询、BI 分析以及 AI 应用等多个访问端点上,数据的访问均经过严格授权与合规管控。

Semantic View diagram

使用案例

在本教程中,您将学习如何通过 Snowflake Cortex Analyst 对某传媒公司的客户评论数据进行处理与分析,并利用亚马逊云科技 QuickSuite 套件中的 Amazon Quick Sight 构建可视化仪表板。本案例将以包含电影传媒公司客户评论的电影数据集为操作对象,帮助您将原始数据转化为可执行的业务洞察。

该集成方案充分利用了 Snowflake 的原生能力,能够将从 Amazon S3 获取的结构化影评数据直接导入数据库模式中。通过 SQL 定义包含表关系、维度和指标的 Snowflake 语义视图,可以显著增强人工智能分析的效果。将语义模型从传统的 BI 工具层迁移至核心数据平台,可确保所有分析工具使用统一的语义概念,提升数据的一致性和可复用性。

关键步骤与优势

数据摄入与语义视图创建:使用 Snowflake 原生数据摄入工具,从 Amazon S3 加载数据,并通过 SQL 构建语义视图,为业务用户简化底层数据库结构,提升数据可理解性。

基于 Cortex Analyst 的自助式分析:业务团队和非技术用户可通过 Snowflake Cortex Analyst,利用自然语言进行自助式数据分析,从 Snowflake 中的结构化数据快速获取业务洞察。

Amazon Quick Sight 集成:遵循 Jupyter Notebook 中的 QuickSight 数据集生成器指南,通过 Snowflake DDL 创建 QuickSight 数据集,涵盖从配置凭证到数据集共享的完整流程,并可使用 AWS Cloudshell 以编程方式调用 Amazon Quick Sight API,实现自动化部署与管理。

增强的人工智能商业智能:该集成方案助力商业智能团队通过自然语言交互,便捷地创建交互式图表与仪表板、构建计算字段、开发数据故事、开展假设情景分析,同时有效降低人工智能幻觉的风险。此外,商业智能团队可将基于 Snowflake 的仪表板集成至(Amazon Quick) Movies 空间,将其他文件、仪表板、主题、知识库与应用操作整合为一个统一且可定制的企业知识中心,进一步提升数据驱动决策的效率和准确性。

architecture diagram

学习目标

• 掌握 Snowflake 中仓库、数据库及模式的配置方法;

• 学习如何将 Amazon S3 数据导入 Snowflake 平台;

• 了解并实践 Snowflake 语义视图的完整构建流程,涵盖表结构、关联关系、维度与指标的定义;

• 初步掌握 Snowflake Notebook 的使用方法;

• 理解语义视图如何助力 AI 驱动的分析(通过 Cortex Analyst 智能体),并在跨 BI 工具(如 Amazon QuickSight)使用中确保数据一致性。

构建内容

您将搭建一个基础且实用的 Snowflake Cortex Analyst 智能体环境。通过构建完整的数据视图及语义模型,实现基于 Amazon QuickSight 的统一数据查询能力,为 AI 和 BI 应用提供一致的数据基础。

准备工作

• 具备 Snowflake 平台使用经验。如无账户,可点击此处注册试用版;

• 选择 AWS 云环境中的企业版服务

• 拥有具备 ACCOUNTADMIN 角色权限的账户,以便创建语义视图

• 熟悉 AWS 服务。如无账户,请先注册 AWS 并开通 QuickSight 服务;

• 请确保在上述两个平台均选择支持的区域进行注册。当前 QuickSight 服务已在以下四个区域开放:美国东部(弗吉尼亚)、美国西部(俄勒冈)、亚太地区(悉尼)及欧洲(爱尔兰)。更多信息可参阅 Amazon QuickSight 官方文档

• 掌握 SQL 与 Python 基础知识;

• 理解数据分析基本概念与方法。

环境设置

概述

您将使用 Snowflake 的网页界面 Snowsight 导入并运行笔记本,以创建所需环境。

• 下载笔记本文件:从资产文件夹中下载 SF_Quick_Quickstart.ipynb 笔记本文件。

Snowflake 笔记本预装了用于数据科学和机器学习的常见 Python 库,例如 numpy、pandas、matplotlib 等。如果您需要使用其他软件包,可以点击右上角的 "Packages"(软件包)下拉菜单,将额外的软件包添加到您的笔记本中。

• 点击 "+ 创建" 按钮 -> 选择 "Notebook"(笔记本)-> 点击 "Import"(导入)以下载的笔记本文件。

import notebook

接受默认设置,并确保选择 Run on Warehouse(在虚拟仓库上运行)。

默认情况下,笔记本使用的虚拟仓库设置为 SYSTEM$STREAMLIT_NOTEBOOK_WH。不过,您也可以在创建笔记本时,从下拉列表中选择一个不同的虚拟仓库。

notebook creation

我们将通过此笔记本创建一个名为 WORKSHOPWH 的新虚拟仓库和一个名为 movies 的数据库,用于组织我们的数据。

笔记本创建完成后,您可以通过笔记本设置选择其他虚拟仓库。

notebook wh

我们将运行笔记本中的单元格,将数据加载到数据库 MOVIES 中,然后继续运行 第 1 部分 和 第 2 部分 以及笔记本的其余部分。

run notebook

重要步骤!! 在运行包含以下 SQL 语句的 Get_SV_DDL 单元格后:

SELECT TO_VARCHAR( GET_DDL(  'SEMANTIC_VIEW',  'MOVIES.PUBLIC.MOVIE_ANALYTICS_SV'));
复制代码

请务必点击 "Download as CSV"(下载为 CSV),并将此文件重命名为 SF_DDL.csv。

export-sv-ddl

至此,Snowflake 端的设置已完成。

此时,您可以在 Snowsight 中查看语义视图 MOVIES_ANALYST_SV,并通过 Cortex Analyst 使用自然语言提问。

如需在 UI 中查看已创建的语义视图:

  • 在 Snowsight 中,选择 AI 与机器学习 -> Cortex Analyst;

  • 确保已选中之前创建的 SEMANTIC_QUICK_START_ROLE 角色和 WORKSHOPSH 仓库;

  • 选择 Movies 数据库和 Public 模式;

  • 查看语义视图 MOVIES_ANALYST_SV 的详细信息。

如需使用 SQL 查看语义视图,请参考此处的示例

movie SV ready

  • 欢迎在操作台中自由探索并解释数据集;

  • 退出前请务必保存。

SV in snowsight

欢迎添加更多已验证的查询。

已验证查询是带有正确答案的示例黄金问题,它为大语言模型(LLM)提供了准确答案的范例。这有助于提高准确性、降低延迟,并为您的语义视图生成更好的建议。

例如:验证“2023 年所有电影的平均评分是多少?”这个问题,可以确保 Cortex Analyst 能为所有类似表述的问题生成正确的 SQL。

Cortex Analyst 仅会在用户提问与已验证查询相似时使用它们。

请尝试以下示例问题:

• 按电影名称展示总的评分值;

• 列出有史以来最受欢迎的 10 部电影。

verify sql in cortext

使用 AWS CloudShell 调用 Quicksight API 的 QuickSight 数据集生成器

按照笔记本中的指南完成以下流程:基于 Snowflake DDL 创建 QuickSight 数据集、设置凭证以及将数据集共享给用户。请从 assets 文件夹下载 QuickSight 数据集生成器_Solution_Package.zip。

完整工作流程

打开 AWS 控制台 --> cloudshell --> 上传 Solution_Package.zip

cloudshell upload

创建 AWS Secret(存储 Snowflake 凭证)

创建 QuickSight 数据源(使用该 secret)

生成 QuickSight 架构(基于之前保存为 SF_DDL.csv 的 Snowflake DDL)

**Expected Output**Parsing Snowflake DDL from: SF_DDL.csvFound 3 tablesFound 2 relationshipsFound 17 dimensionsFound 1 factsFound 7 metricsGenerating complete QuickSight dataset schema...Complete schema saved to: quicksight_schema_complete.jsonThis schema includes:All 3 physical tables (MOVIES, USERS, RATINGS)  ✓ Logical tables with joins  ✓ Column renames based on DDL aliasesType casts (IDs to STRING)  ✓ Calculated fields (USER_FULL_NAME, DISTINCT_MOVIES)Column descriptions from DDL comments
复制代码

创建数据集(基于生成的架构)

**Expected Output**✓ Dataset created: movie-analytics-dataset✓ Status: 201✓ Ingestion started: ingestion-1769081615
复制代码

启动 SPICE:超快速并行内存计算引擎 数据摄取(加载数据)

"IngestionId": "ingestion-1769082493",        "IngestionStatus": "COMPLETED",        "ErrorInfo": {},        "RowInfo": {            "RowsIngested": 378436,            "RowsDropped": 0,            "TotalRowsInDataset": 378436
复制代码

共享数据集(给其他用户)- 可选步骤

数据集创建完成且数据摄取结束后,您可以进入 Amazon QuickSight 控制台查看数据集、创建 Q 主题、仪表板,甚至为您的团队生成 Movies 空间。

我们可以使用相同的已验证查询来生成仪表板

例如:显示评分最高的电影

popular movies

附录

附录 1:适用于希望在导入 Notebook 前,使用 SQL 工作表创建仓库和数据库的用户

• 或者,你也可以在工作表中复制并运行以下 SQL 语句,以创建 Snowflake 对象(仓库、数据库)。

一旦仓库和数据库创建完成,你就可以上传 Notebook 并执行引导式单元格,开始后续操作。

-- =============================================-- PART 1: Snowflake Setup for semantic view quick start-- =============================================USE ROLE ACCOUNTADMIN;-- Create role for semantic view quick startCREATE ROLE IF NOT EXISTS semantic_quick_start_roleCOMMENT = 'Role for semantic view quick start demo';-- Set variablesSET my_user = CURRENT_USER();    --Grant role to your user GRANT ROLE semantic_quick_start_role TO USER IDENTIFIER($my_user);    -- create database, schema and warehouseCREATE WAREHOUSE IF NOT EXISTS WORKSHOPWH WITH WAREHOUSE_SIZE = 'XSMALL' AUTO_SUSPEND = 1800 AUTO_RESUME = TRUE COMMENT = 'Warehouse for semantic view quick start demo';CREATE DATABASE IF NOT EXISTS movies;GRANT OWNERSHIP ON DATABASE movies TO ROLE semantic_quick_start_role COPY CURRENT GRANTS;GRANT OWNERSHIP ON SCHEMA movies.PUBLIC TO ROLE semantic_quick_start_role COPY CURRENT GRANTS;GRANT OWNERSHIP ON WAREHOUSE workshopwh TO ROLE semantic_quick_start_role COPY CURRENT GRANTS;-- Grant privileges to create semantic viewsGRANT CREATE SEMANTIC VIEW ON SCHEMA movies.PUBLIC TO ROLE semantic_quick_start_role;GRANT CREATE STAGE ON SCHEMA movies.PUBLIC TO ROLE semantic_quick_start_role;
复制代码

总结与资源

恭喜你完成本实验!你已成功利用 Snowflake 生成洞察,并掌握了其与 Amazon Quick Suite 的集成方法。

本课要点
  • 如何使用 Snowflake Cortex Analyst 分析数据;

  • 如何通过语义 SQL 定义包含表、关系、维度和指标的 Snowflake 语义视图;

  • Snowflake 与 Amazon Quick Suite 之间的集成方法。

相关资源

GitHub 代码库链接

语义视图入门指南

Cortex Analyst 快速入门指南

原文地址:https://www.snowflake.com/en/developers/guides/better-together-snowflake-sv-amazon-quicksight/

点击链接立即报名注册:Ascent - Snowflake Platform Training - China更多 Snowflake 精彩活动请关注专区