Vertica 集成 AutoQL¶
技术探索¶
关于本文档¶
本探索的目标是了解 AutoQL 技术及其与 Vertica 的集成方式。本文档描述用户在能从 AutoQL 访问 Vertica 之前需要执行的部署和实现过程。实现过程之后,我们描述如何使用该解决方案提出自然语言问题并从 Vertica 数据中获取洞察。
AutoQL 概述¶
AutoQL by Chata 是一种创新的自助式数据分析解决方案。AutoQL 是一个平台,使用户能够以对话式和直观的方式访问数据。用户可以用自己的语言提出问题,并立即获得决策所需的答案。
AutoQL 安全地连接到 Vertica,并使用 Vertica 的 JDBC 驱动直接在数据库中执行查询。Vertica JDBC 驱动由 Chata 预配置并随 AutoQL 捆绑管理。
测试环境¶
| 组件 | 详情 |
|---|---|
| 合作伙伴产品 | AutoQL Integrator Portal |
| AutoQL URL | 您的 AutoQL 部署 URL。AutoQL SaaS URL:https://autoql.chata.io/ |
| Vertica 服务器 | Vertica Analytic Database v11.1.1-0 |
| Vertica 服务器平台 | Red Hat Enterprise Linux 7.3 |
| Vertica 客户端 | Vertica JDBC 11.0.2(由 Chata 捆绑并预配置) |
注意: AutoQL 门户以及语言模型的版本由 Chata 团队内部管理和跟踪。平台的更改在需要时动态部署到客户环境。
AutoQL 部署选项¶
客户可以选择以下两种方式之一部署 AutoQL Engine:
- 客户自有 Kubernetes 环境:可在云端或本地部署。在此部署中,查询处理和客户数据保留在客户网络内部
- 托管解决方案:运行在 Google Cloud Platform(GCP)或 Microsoft Azure 上,由 Chata 管理
准备工作¶
在从 AutoQL 访问和探索 Vertica 中的数据之前,需要准备特定于客户数据库的语言模型并在客户环境中部署 AutoQL Engine:
- AutoQL 语言模型实施
- AutoQL Integrator Portal 部署
AutoQL 语言模型¶
AutoQL 语言模型由多个深度学习机器学习模型组成,可将自然语言问题转换为 SQL。该模型可以覆盖数据库中的多个主题/对象。例如,基于 VMart 示例数据库的模型将涵盖在线销售、库存、促销和其他相关主题。
语言模型实施¶
语言模型的实施由 Chata 团队在 Chata 的云环境中执行。在使用 AutoQL 与 Vertica 之前,此实施是必需的:
- 模型创建:Chata 团队安全访问客户数据库,使用数据库结构训练模型。客户有多种选项与 Chata 共享数据库结构:Chata 可连接到临时数据库(推荐),或访问数据库的副本/备份。建立安全访问后,Chata 使用利用数据库结构构建模型的专有系统
- 模型测试和验证:模型训练完成后,在 Chata 的云环境中进行测试和验证,确保向客户交付高质量的模型
- 模型发布:模型验证通过后,部署到客户的 Kubernetes 环境。此过程由 Chata 集成团队执行
注意: 模型可基于客户的特定术语进行训练,使自然语言问题的解释更加精确。
部署 AutoQL Integrator Portal¶
AutoQL Engine 的部署由客户的云管理员或 DevOps 团队执行。AutoQL 容器部署到运行在云中或本地的 Kubernetes 集群中。
先决条件¶
- 确保已安装并运行 Kubernetes
- 创建用于安装 AutoQL Engine 的 Kubernetes 集群
下载和安装 AutoQL¶
- 从 Client Portal(Chata 云环境中的界面)下载部署脚本
- 通过云 SDK 执行部署脚本
注意: 部署脚本从 Chata 的容器注册表拉取镜像,并在客户 Kubernetes 集群中实例化服务。容器注册表的访问由 IAM 和服务账户管理。
与 AutoQL Engine 交互¶
Chata 为开发者和终端用户提供不同的交互选项。
开发者¶
Chata 提供与 AutoQL 交互的 API。开发者可以使用 API 访问引擎、将 AutoQL 功能和可视化嵌入到应用程序中,以及实现或扩展功能。
- API 主页面:https://chata.readme.io/
- 快速入门:https://chata.readme.io/docs/autoql-quick-start
终端用户¶
AutoQL 为业务用户提供两个开箱即用的交互界面:
- AutoQL TeamsApp:从 Microsoft Teams 环境访问 AutoQL 的应用程序。TeamsApp 可添加到频道,启用通过频道进行数据库查询
- AutoQL WebApp:预配置的用户门户,允许用户创建仪表板并对其企业中的项目执行查询。WebApp 可进行白标定制,使用户拥有熟悉的工作环境
从 AutoQL 连接到 Vertica¶
语言模型生成并拥有 AutoQL Integrator Portal 访问权限后,创建新 AutoQL 项目以连接到 Vertica 数据库:
- 在浏览器中导航到 AutoQL Integrator Portal,例如
https://<My_AutoQL_portal>/ - 输入邮箱和密码,点击 LOG IN
- 在左侧菜单中点击 Projects
- 在 Sandbox 或 Production 环境中点击 Add new Project 图标
注意: 可以使用 Sandbox 环境作为临时区域来测试语言模型,然后在 Production 环境中创建相同的项目以授予终端用户访问权限。
- 在 Add New Project 对话框中输入项目公司名称
- 点击 Next
- 在 Connect Database 中输入 Vertica 数据库连接信息:
- Database Name:Vertica 数据库名称
- Database URL:Vertica 服务器 IP 地址和端口号,格式:
<ip_address>:<port> - Type:从下拉列表中选择 Vertica
- Database options:任何需要自定义的 JDBC 属性,例如设置会话标签
- Username:数据库用户名
- Password:数据库用户密码
- 点击 Test Connection 测试连接
- 点击 Next
- 在 Connect Model 中,从列表中选择要连接的语言模型(由 Chata 团队准备并发布的模型)
- 点击 Next
- 在 Review 中审查新项目信息,点击 Submit
系统将启动数据库特定模型的下载,并在 Kubernetes 中实例化模型特定服务。创建项目可能需要几分钟。项目状态显示为 Active 时,即可开始查询数据库。
注意: 客户环境与 Chata 环境之间的所有通信均通过安全连接进行。连接使用 Client Portal 下载文件中提供的服务账户和 IAM。
使用 AutoQL Data Messenger¶
项目已创建并连接到 Vertica 数据库后,即可开始使用 AutoQL Data Messenger 询问有关 Vertica 数据的问题。
注意: 用户查询期间,会使用 JWT 令牌调用 API。JWT 令牌将调用路由到正确的项目。
- 在屏幕右上角点击 Demo Sandbox
- 从 Select Project 下拉列表中选择项目
- 在屏幕右侧点击 Open Data Messenger 图标
- 在 Data Messenger 界面中输入要询问的数据问题,Data Messenger 将以图表形式显示答案
示例问题: - "What is the average online sales by customer state year over year"(按客户州和年份的平均在线销售额) - "What is the average online sales by transaction type in 2005"(2005 年按交易类型的平均在线销售额)
注意: 可以将结果自定义为表格格式或其他类型图表。
使用 AutoQL 仪表板¶
- 在首页右上角点击 Demo Sandbox
- 选择项目
- 点击 Create a New Dashboard,输入名称并点击 Save
- 点击 Add a New Tile
- 在文本框中输入信息:
- Query:用自然语言输入关于数据的问题
- Title(可选):要在可视化中显示的描述
- 点击播放按钮提交查询并查看结果
AutoQL 生成的查询¶
AutoQL 语言模型将自然语言问题转换为 SQL,然后通过 JDBC 驱动发送到 Vertica。技术用户可以通过多种方式捕获和检查 AutoQL 生成的 SQL 语句:
方法 1:使用 Vertica 日志或系统表
- 在 Vertica 服务器的命令行终端中,导航到 Vertica 日志位置,执行 tail -f vertica.log 检查 AutoQL 发出的查询
- 查询系统表:
SELECT *
FROM v_monitor.query_requests
WHERE user_name = '<my_db_user>' and
request_type = 'QUERY'
order by start_timestamp desc
方法 2:在 Data Messenger 界面中使用 View generated SQL 选项 在 Data Messenger 生成的可视化中,点击 More options 图标,选择 View generated SQL。复制查询并在 SQL 工具或 VSQL 中检查。
注意: View generated SQL 选项默认禁用。AutoQL 管理员可根据需要授予用户访问权限。
建议¶
使用 Report a Problem 功能:AutoQL 从用户收集反馈以改进语言模型。如果在可视化中提出的问题返回的数据不正确或不完整,请点击右侧的 Report a Problem 图标通知此不一致情况。
原文来源:https://www.vertica.com/kb/AutoQL_TE/Content/Partner/AutoQL_TE.htm