跳转至

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:

  1. 客户自有 Kubernetes 环境:可在云端或本地部署。在此部署中,查询处理和客户数据保留在客户网络内部
  2. 托管解决方案:运行在 Google Cloud Platform(GCP)或 Microsoft Azure 上,由 Chata 管理

准备工作

在从 AutoQL 访问和探索 Vertica 中的数据之前,需要准备特定于客户数据库的语言模型并在客户环境中部署 AutoQL Engine:

  1. AutoQL 语言模型实施
  2. AutoQL Integrator Portal 部署

AutoQL 语言模型

AutoQL 语言模型由多个深度学习机器学习模型组成,可将自然语言问题转换为 SQL。该模型可以覆盖数据库中的多个主题/对象。例如,基于 VMart 示例数据库的模型将涵盖在线销售、库存、促销和其他相关主题。

语言模型实施

语言模型的实施由 Chata 团队在 Chata 的云环境中执行。在使用 AutoQL 与 Vertica 之前,此实施是必需的:

  1. 模型创建:Chata 团队安全访问客户数据库,使用数据库结构训练模型。客户有多种选项与 Chata 共享数据库结构:Chata 可连接到临时数据库(推荐),或访问数据库的副本/备份。建立安全访问后,Chata 使用利用数据库结构构建模型的专有系统
  2. 模型测试和验证:模型训练完成后,在 Chata 的云环境中进行测试和验证,确保向客户交付高质量的模型
  3. 模型发布:模型验证通过后,部署到客户的 Kubernetes 环境。此过程由 Chata 集成团队执行

注意: 模型可基于客户的特定术语进行训练,使自然语言问题的解释更加精确。

部署 AutoQL Integrator Portal

AutoQL Engine 的部署由客户的云管理员或 DevOps 团队执行。AutoQL 容器部署到运行在云中或本地的 Kubernetes 集群中。

先决条件

  • 确保已安装并运行 Kubernetes
  • 创建用于安装 AutoQL Engine 的 Kubernetes 集群

下载和安装 AutoQL

  1. 从 Client Portal(Chata 云环境中的界面)下载部署脚本
  2. 通过云 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 数据库:

  1. 在浏览器中导航到 AutoQL Integrator Portal,例如 https://<My_AutoQL_portal>/
  2. 输入邮箱和密码,点击 LOG IN
  3. 在左侧菜单中点击 Projects
  4. 在 Sandbox 或 Production 环境中点击 Add new Project 图标

注意: 可以使用 Sandbox 环境作为临时区域来测试语言模型,然后在 Production 环境中创建相同的项目以授予终端用户访问权限。

  1. 在 Add New Project 对话框中输入项目公司名称
  2. 点击 Next
  3. 在 Connect Database 中输入 Vertica 数据库连接信息:
  4. Database Name:Vertica 数据库名称
  5. Database URL:Vertica 服务器 IP 地址和端口号,格式:<ip_address>:<port>
  6. Type:从下拉列表中选择 Vertica
  7. Database options:任何需要自定义的 JDBC 属性,例如设置会话标签
  8. Username:数据库用户名
  9. Password:数据库用户密码
  10. 点击 Test Connection 测试连接
  11. 点击 Next
  12. 在 Connect Model 中,从列表中选择要连接的语言模型(由 Chata 团队准备并发布的模型)
  13. 点击 Next
  14. 在 Review 中审查新项目信息,点击 Submit

系统将启动数据库特定模型的下载,并在 Kubernetes 中实例化模型特定服务。创建项目可能需要几分钟。项目状态显示为 Active 时,即可开始查询数据库。

注意: 客户环境与 Chata 环境之间的所有通信均通过安全连接进行。连接使用 Client Portal 下载文件中提供的服务账户和 IAM。

使用 AutoQL Data Messenger

项目已创建并连接到 Vertica 数据库后,即可开始使用 AutoQL Data Messenger 询问有关 Vertica 数据的问题。

注意: 用户查询期间,会使用 JWT 令牌调用 API。JWT 令牌将调用路由到正确的项目。

  1. 在屏幕右上角点击 Demo Sandbox
  2. Select Project 下拉列表中选择项目
  3. 在屏幕右侧点击 Open Data Messenger 图标
  4. 在 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 仪表板

  1. 在首页右上角点击 Demo Sandbox
  2. 选择项目
  3. 点击 Create a New Dashboard,输入名称并点击 Save
  4. 点击 Add a New Tile
  5. 在文本框中输入信息:
  6. Query:用自然语言输入关于数据的问题
  7. Title(可选):要在可视化中显示的描述
  8. 点击播放按钮提交查询并查看结果

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