大数跨境
0
0

AI × Lakehouse:实现自然语言驱动的数据分析

AI × Lakehouse:实现自然语言驱动的数据分析 云器科技
2025-09-04
1

导读




过去,数据分析意味着写复杂SQL、等待执行、解读结果。现在,借助 Lakehouse MCP Server 的50多个工具(详见附录工具列表),让这一切变得像对话一样自然:用户用业务语言提问,AI自动理解并生成查询,Lakehouse在底层高效执行,最终答案以自然语言返回。这样的模式不仅降低了数据使用门槛,还加快了决策与创新的节奏,并依托 Lakehouse的实时引擎,确保结果始终鲜活。从过去AI的小规模数据分析,到如今AI × Lakehouse的结合,让智能数据服务真正触手可及。


什么是 MCP:AI与数据系统的标准化桥梁


MCP (Model Context Protocol)是一个标准化的接口协议,它保证了AI与外部系统的交互是安全的、可控的、可扩展的。而云器Lakehouse本身已经是一个高性能、低延迟、支持通用增量计算的数据底座。两者结合,就相当于:


  • MCP提供了“语言 → 调用”的桥梁:将自然语言转换为系统调用

  • Lakehouse提供了“调用 → 执行”的引擎:高效执行数据查询和分析


这种架构设计解决了传统数据分析中最大的痛点—技术门槛与业务需求之间的鸿沟。


价值意义:从技术驱动到业务驱动的转变


传统数据平台的使用方式是“写SQL → 系统执行”。这要求用户必须懂 schema、懂SQL语法,还要能把业务问题翻译成查询逻辑。MCP Server的出现,把这个流程替换为:


💡 输入业务语言 → AI 理解并生成查询 → Lakehouse 高效执行 → AI 用自然语言返回答案


这背后的价值体现在三个维度:


1. 认知门槛降低

更多人可以直接与数据对话,而不是依赖数据工程师。业务分析师、产品经理,甚至业务决策者都能直接获取数据洞察,真正实现了数据的民主化。

2. 迭代速度加快

实验和分析不再被阻塞在“写查询 → 等人”的环节。想法可以立即验证,假设可以快速测试,大大缩短了从问题到答案的路径。

3. 实时智能服务

Lakehouse的秒级延迟能力,让AI可以返回「鲜活」的数据。无论是实时监控、动态报表还是即时决策支持,都能基于最新的数据状态进行。


云器 Lakehouse MCP Server:技术架构与特性


💡 云器Lakehouse 正式开放 MCP 协议集成公测。这意味着任何支持 MCP 的 AI 客户端都可以直接与云器 Lakehouse 进行交互,用户仅需使用自然语言,就可以享受企业级数据湖仓的强大能力。


Lakehouse MCP Server 是专为 Lakehouse 平台设计的 MCP 服务器,它将云器 Lakehouse 强大的数据湖仓能力与 AI 助手无缝集成,让用户能够通过自然语言与数据湖仓进行交互。


核心特性


  • 协议支持:支持 HTTP (Streamable)、SSE、Stdio 三种传输协议

  • 标准兼容:完全遵循 MCP 官方规范,提供标准 /mcp 端点

  • 广泛兼容:支持 Claude Desktop、Dify、n8n、Cursor 等主流平台


部署环境要求


系统要求

  • 操作系统:MacOS、Windows、Linux

  • Docker:20.10+ 版本

  • 内存:最低 2GB,推荐 8GB

  • CPU:最低 2 核,推荐 4 核

  • 存储:最低 10GB 可用空间


快速开始:从零到一构建智能数据对话


本示例介绍采用 HTTP (Streamable) 协议方式部署(推荐),同时 Claude Desktop (MCP 客户端) 和MCP服务器都运行在同一台本地计算机(localhost)上。该架构同样支持分布式部署,即客户端、服务器和 Lakehouse 平台可以分别位于不同的远程主机上。



步骤0:MCP Server 端配置准备


Docker 环境准备:访问<https://www.docker.com/products/docker-desktop/> 下载 Docker Desktop for Mac。


1. 验证安装 Docker Desktop (MacOS 环境)保证 Docker 版本20.10+


docker --version 


2. 配置 Docker Desktop:

  • 分配至少 4GB 内存给 Docker

  • 启用文件共享功能



步骤1:MCP Server 端:拉取最新云器的 MCP Server 镜像


docker pull czqiliang/mcp-clickzetta-server:latest


步骤2:MCP Server 端:创建工作目录(如果不存在)


  • macOS:

mkdir -p ~/.clickzetta/lakehouse_connection
  • Windows PowerShell:

New-Item -ItemType Directory -Path "$env:USERPROFILE\.clickzetta/lakehouse_connection" -Force


在上述路径下,新建名称为connections.json的配置文件并添加 Lakehouse 实例的连接信息,配置模板如下(如果连接两个 Lakehouse 实例,用逗号分隔):

{  "connections": [    {      "is_default": true,      "service": "cn-shanghai-alicloud.api.clickzetta.com",      "username": "__your_name__",      "password": "__your_password__",      "instance": "__your_instanceid__",      "workspace": "__your_workspacename__",      "schema": "public",      "vcluster": "default_ap",      "description": "UAT environment for testing",      "hints": {        "sdk.job.timeout": 300,        "query_tag": "mcp_uat"      },      "name": "Shanghai production env",      "is_active": false,      "last_test_time": "2025-06-30T19:55:51.839166",      "last_test_result": "success"    }  ]}


参数说明:


参数名

说明

示例值

is\_default

是否为默认连接配置

true

service

服务端点地址请参考文档

https://www.yunqi.tech/documents/Supported_Cloud_Platforms

上海阿里云cn-shanghai-alicloud.api.clickzetta.com

北京腾讯云ap-beijing-tencentcloud.api.clickzetta.com

北京 AWS :cn-north-1-aws.api.clickzetta.com

广州腾讯云ap-guangzhou-tencentcloud.api.clickzetta.com

新加坡阿里云ap-southeast-1-alicloud.api.singdata.com

新加坡AWSap-southeast-1-aws.api.singdata.com

username

用户名,用于身份验证

"your_name"

password

密码,用于身份验证

"your_password"

instance

实例ID,标识特定的Lakehouse实例

"your_instanceid"

workspace

工作空间名称,用于数据隔离和组织

"your_workspacename"

schema

数据库模式名称

"public"

vcluster

虚拟集群名称,用于计算资源管理

"default_ap"

description

连接配置的描述信息

"PRD environment for marketing"

hints

性能优化和标识配置对象

{...}

hints.sdk.job.timeout

SDK作业超时时间(秒)

300

hints.query\_tag

查询标签,用于查询追踪和标识

"mcp_uat"

name

连接配置的名称标识

"Shanghai production env"

is\_active

连接是否处于活跃状态

false

last\_test\_time

最后一次连接测试的时间戳(ISO格式)

"2025-06-30T19:55:51.839166"

last\_test\_result

最后一次连接测试的结果状态

"success"


步骤3:MCP Server 端:启动 MCP Server 镜像


创建docker-compose.yml文件,拷贝内容到文件中(文件内容详见附录)

在包含该文件的目录下打开终端或命令行,并执行以下命令。

docker compose up -d


预期输出

bash-3.2$ docker compose up -d[+] Running 4/4 ✔ Network mcp_docker_clickzetta-net  Created       0.0s    ✔ Container clickzetta-sse           Started       0.2s    ✔ Container clickzetta-http          Started       0.2s    ✔ Container clickzetta-webui         Started       0.2s


校验状态,使用docker compose ps --format "table {{.Name}}\t{{.Service}}\t{{.Status}}" 命令,预期输出如下(忽略 WARNING 信息):

bash-3.2$ docker compose ps --format "table {{.Name}}\t{{.Service}}\t{{.Status}}"
NAME               SERVICE            STATUSclickzetta-http    clickzetta-http    Up 5 hours (unhealthy)clickzetta-sse     clickzetta-sse     Up 5 hours (unhealthy)clickzetta-webui   clickzetta-webui   Up 5 hours (unhealthy)


如果需要关闭,请在包含docker-compose.yml文件的目录下执行:docker compose down


步骤4:配置 Claude Desktop


本示例选择的MCP 客户端工具是Claude Desktop,主机与MCP Server 端位于同一台主机

找到并打开 Claude Desktop 配置文件:


macOS 操作步骤:

  • 打开 Finder

  • 按 Cmd+Shift+G

  • 粘贴路径:~/Library/Application Support/Claude

  • 双击打开 claude_desktop_config.json(用文本编辑器)

Windows 操作步骤:

  • 按 Win+R 打开运行对话框

  • 输入 %APPDATA%\Claude 并回车

  • 右键点击 claude_desktop_config.json

  • 选择"编辑"或"用记事本打开"


将以下内容复制到配置文件(替换原有内容或添加到mcpServers 中):

请输入 MCP Server 的地址:如果服务器与客户端运行在同一台机器上,请填写 localhost;否则,请填写服务器的 IP 地址。

{  "mcpServers": {    "clickzetta-http": {      "command": "npx",       "args": [        "-y", "mcp-remote",        "http://<YOUR_SERVER_IP>:8002/mcp",        "--allow-http",        "--transport", "http"      ]    }  }}


配置完成!

另外:Claude Desktop 支持通过多种方式连接后端的 MCP Server,以适应不同的部署环境和性能需求。上面的示例介绍了 **HTTP (Streamable**) 协议连接方式,如果想利用 SSE 或者 STDIO 协议连接,配置也很简单:


SSE 连接方式(远程服务)

SSE (Server-Sent Events) 是一种基于 HTTP 的长连接技术,允许服务器向客户端单向推送消息。相比于传统的轮询方式,SSE 能够以更低的延迟实现实时通信。

  • 适用场景:需要从服务器实时接收数据流或更新通知的场景。

  • Docker Server 配置参考:此方式对应启动容器中的 clickzetta-sse 的服务,该服务在8003端口上提供服务。

  • 配置示例:在Claude Desktop的claude_desktop_config.json配置文件中更新如下信息,连接到远程SSE端点。


{  "mcpServers": {    "clickzetta-remote-sse": {      "command": "npx",      "args": [        "-y", "mcp-remote",        "http://localhost:8003/sse",        "--allow-http",        "--transport", "sse"      ]    }  }}

说明:

  • 请将 <YOUR_SERVER_IP> 替换为 MCP Server 实际的 IP 地址或域名。

  • 目标端口为8003,端点路径为 /sse。

  • --transport sse 参数指明了使用SSE通信协议。


STDIO 连接方式(本地进程)

此方式主要用于本地开发和调试。Claude Desktop 会将 MCP Server 作为一个子进程直接在本地启动,并通过标准输入/输出(STDIO)进行通信。这种方式延迟最低,但不适用于远程连接。

  • 适用场景:本地开发、单机部署。

  • Docker Server 配置参考:此方式对应启动容器中的 clickzetta-stdio 的服务,该容器镜像会随着 Claude Desktop 的开启和关闭,自动操作容器镜像拉起和停止。

  • 配置示例:在Claude Desktop的 claude_desktop_config.json 配置文件中更新如下信息,直接指定启动本地 Server 的命令。


注意:

1. 配置文件中-v 后的路径中USERNAME请根据系统的实际路径进行修改

2. 请使用docker compose down关闭创建的相关容器,因为此种方式下,Claude Desktop会随着自身的开启和关闭,自动操作容器镜像拉起和停止。

{  "mcpServers": {    "clickzetta-stdio": {      "command": "docker",      "args": [        "run", "-i", "--rm",        "--stop-timeout", "60",        "-p", "8502:8501",        "-v", "/Users/derekmeng/.clickzetta:/app/.clickzetta",        "czqiliang/mcp-clickzetta-server:latest"      ]    }  }}

说明:

  • command和args 直接定义了如何在本地启动 MCP Server。

  • 无需指定IP地址和端口。

  • --transport stdio参数指明了使用STDIO通信协议。


开始使用:


部署验证


1. 打开Claude Desktop,在输入框中,发送以下指令:
列出所有 Clickzetta Lakehouse 可用的 MCP工具

如果连接成功,您将看到一个包含 50+ 个工具的列表(注意:随着版本更新,工具的具体数量可能会有变化) 


2. 验证WebUI界面

在您的浏览器中访问以下地址:http://localhost:8503, 预期可以展示以下页面:



如果以上两个步骤都顺利完成,恭喜您,您的应用已成功安装!


第二步:配置您的第一个数据源 (Lakehouse)


接下来,让我们配置一个Lakehouse连接,以便Claude可以访问您的数据。

1、打开连接管理器

访问WebUI界面http://localhost:8503,然后在左侧菜单中选择「连接管理」。

2、添加并填写连接信息

点击「添加新连接」按钮,并根据提示准确填写您的Lakehouse连接信息(如主机、端口、凭证等)



测试并保存

  1. 填写完毕后,点击「**测试连接**」按钮,确保所有配置信息无误且网络通畅。

  2. 测试通过后,点击「**保存**」完成配置。


第三步:开始您的第一个查询


现在一切准备就绪!您可以开始与您的数据进行交互了。尝试在Claude Desktop中提问:


"帮我看下有哪些 Lakehouse 实例"


高级配置:配置云器产品文档知识库


这个步骤会将云器Lakehouse产品知识库表集成进来,构建一个智能问答知识库。配置完成后,您将能够在MCP Client(如Claude Desktop)中,通过自然语言提问的方式,快速获得关于Lakehouse操作的官方指导和答案

该功能的核心是利用**嵌入服务 (Embedding**) 和**向量搜索 (Vector Search**) 技术,将非结构化的文档转化为可供机器理解和检索的知识库。


第一步:配置嵌入服务


此步骤的目的是告诉MCP系统如何将用户的“问题”也转换成向量,以便在知识库中进行匹配。

1、在MCP Server管理界面,从左侧导航栏进入「**系统配置**」。

2、在主配置区,选择 「**嵌入服务**」 标签页。

3、找到并填写 **DashScope 配置**(默认)部分:

  • API Key:粘贴您的阿里云百炼平台的 API 密钥。这是调用模型的身份凭证,请妥善保管。

  • 向量维度 (Vector Dimension):输入您选择的嵌入模型所输出的向量维度。**此值必须与知识库文档向量化时使用的维度完全一致**。例如,截图中 text-embedding-v4 模型的维度是 1024。

  • 嵌入模型 (Embedding Model):选择或填写用于将文本转换为向量的模型名称,例如 text-embedding-v4。

  • 最大文本长度 (Max Text Length):设置模型一次可以处理的文本单元(Token)的最大数量。如果问题过长,超出部分将被忽略。



4. 点击保存嵌入服务配置按钮。


第二步:配置向量搜索


此步骤的目的是告诉MCP系统去哪里、以及如何搜索已经存储好的文档知识库。

1. 在系统配置页面,切换到 「**向量搜索**」 标签页。

2. 填写向量表配置部分:

  • 向量表名称 (Vector Table Name):准确填写存储了文档向量的完整表名。格式通常为数据库名.模式名.表名,例如clickzetta_sample_data.clickzetta_doc.kb_dashscope_clickzetta_elements。

  • 嵌入列 (Embedding Column):填写该表中用于存储**文本向量**的列名,例如 embeddings。

  • 内容列 (Content Column):填写该表中用于存储**原始文本内容**的列名,例如 text。当系统找到相关答案时,这里的内容会作为主要参考。

  • 其他列 (Other Columns):可选。填写您希望一并检索出的元数据列,如 file_directory, filename,这有助于用户追溯信息的原始出处。


3. 配置 **搜索参数**:保持默认即可,如果想进行修改,请参考下面的说明

  • 距离阈值 (Distance Threshold):设置一个相似度匹配的严格程度。系统会计算问题向量与文档向量之间的“距离”,只有距离小于此值的文档才会被视为相关。**值越小,代表匹配要求越严格**。通常建议从0.80 开始尝试。

  • 返回结果数 (Number of Results to Return):定义单次查询从数据库中检索出的最相关文档的数量。例如,设置为5表示每次找出5个最相关的文档片段。

  • 启用重排序 (Enable Reranking):勾选此项后,系统会对初步检索出的结果进行二次智能排序,以提高最准确答案出现在最前面的概率。



4. 点击保存向量搜索配置按钮。


其他典型使用场景


请参考公众号文章:

MCP Server 如何助力 Lakehouse 实现 AI 驱动的 6 大数据应用场景


我们期待与您一起探索 AI 驱动的数据分析新时代!


附录


1. 创建docker-compose.yml文件内容,详见:

https://www.yunqi.tech/documents/LakehouseMCPServer_intro 

2. Lakehouse MCP工具列表:

序号
工具名称
功能类别
主要功能
支持操作
1
read_query
数据查询
执行SELECT查询并返回结果
支持自动结果限制,Spark SQL兼容
2
write_query
数据操作
执行写操作SQL语句
INSERT/UPDATE/DELETE/CREATE/DROP
3
vector_search
AI搜索
对表执行向量搜索/知识检索
智能列名推断,支持分区过滤
4
match_all
全文搜索
使用MATCH_ALL函数进行全文搜索
自动检测可搜索文本列
5
get_product_knowledge
知识检索
从向量数据库中搜索产品知识
语义相似性搜索
6
show_object_list
对象管理
列出数据库对象,支持智能筛选
智能分析、精确统计、过滤建议
7
desc_object
对象查看
获取数据库对象的详细信息
支持扩展模式、历史信息、索引信息
8
desc_object_history
版本管理
查看对象的历史版本和变更记录
支持TABLE/VIEW/FUNCTION/PIPE
9
drop_object
对象删除
安全删除各种类型的数据库对象
确认机制、UNDROP提示
10
restore_object
时间旅行
将对象恢复到指定历史时间点
支持表、动态表、物化视图
11
undrop_object
对象恢复
恢复被删除的对象
支持表、动态表、物化视图
12
create_table
表创建
创建ClickZetta表,支持完整语法
分区、分桶、索引、约束、生成列
13
create_external_table
外部表
创建外部表(Delta Lake格式)
仅支持Delta Lake,对象存储
14
create_dynamic_table
动态表
创建动态表,自动维护查询结果
自动刷新、增量更新
15
create_table_stream
流表
创建表流,用于捕获表变更数据
CDC功能,跟踪INSERT/UPDATE/DELETE
16
create_schema
模式创建
创建新的SCHEMA(数据模式)
逻辑分组,权限管理
17
create_external_schema
外部模式
创建外部SCHEMA映射
基于CATALOG CONNECTION
18
create_catalog_connection
目录连接
创建外部元数据目录连接
支持Hive、OSS、Databricks
19
create_external_catalog
外部目录
创建外部CATALOG挂载
基于已创建的CATALOG CONNECTION
20
create_storage_connection
存储连接
创建存储系统连接
HDFS、OSS、COS、S3、Kafka
21
create_api_connection
API连接
创建API CONNECTION用于云函数
阿里云FC、腾讯云函数、AWS Lambda
22
create_volume
存储卷
创建EXTERNAL VOLUME访问对象存储
自动验证bucket存在性
23
put_file_to_volume
文件上传
将文件上传到Volume存储
支持URL、本地文件、直接内容
24
get_file_from_volume
文件下载
从Volume下载文件到本地
支持单个或批量文件下载
25
list_files_on_volume
文件列表
列举Volume中的文件列表
支持子目录浏览、正则筛选
26
remove_file_from_volume
文件删除
从Volume删除文件或目录
支持文件和目录删除
27
create_index
索引创建
创建索引
VECTOR/INVERTED/BLOOMFILTER三种类型
28
create_function
UDF创建
创建基于SQL的用户自定义函数
仅支持SQL表达式和查询
29
create_external_function
外部函数
创建外部函数,支持Python/Java代码
云函数执行,复杂业务逻辑
30
package_external_function
函数打包
智能打包Python外部函数及依赖
生产/开发/Docker三种模式
31
get_external_function_guide
函数指南
获取外部函数开发指南
Python开发规范、最佳实践
32
get_external_function_template
函数模板
获取外部函数开发模板
AI文本、多模态、向量、业务场景
33
create_pipe
管道创建
创建PIPE管道用于自动化数据导入
智能模式、手动模式
34
alter_pipe
管道修改
修改PIPE属性
suspend/resume、批处理参数
35
create_vcluster
集群创建
创建虚拟计算集群
资源隔离、工作负载管理
36
alter_vcluster
集群修改
修改计算集群配置
启停、属性配置、说明更新
37
get_current_context
上下文查看
获取当前连接的上下文信息
连接、WORKSPACE、SCHEMA、VCLUSTER
38
switch_context
上下文切换
切换当前上下文
会话级切换,智能路由
39
switch_vcluster_schema
环境切换
切换虚拟集群和模式
在当前workspace内切换
40
switch_workspace
工作空间
切换workspace
重新建立数据库连接
41
switch_lakehouse_instance
实例切换
切换多云环境或Lakehouse环境
多云、多环境、多地域切换
42
import_data_src
数据导入
从URL、文件路径或Volume导入数据
支持多种格式,三种写入模式
43
import_data_from_db
数据库导入
从外部数据库导入数据
MySQL、PostgreSQL、SQLite
44
preview_volume_data
数据预览
对Volume文件进行SQL查询分析
预览模式、导入模式
45
alter_dynamic_table
动态表修改
修改动态表属性
suspend/resume、注释、列操作
46
modify_dynamic_table_data
动态表数据
对动态表执行数据修改操作
INSERT/UPDATE/DELETE/MERGE
47
refresh_dynamic_table
动态表刷新
手动刷新动态表数据
立即刷新数据
48
create_knowledge_base
知识库创建
创建知识库,支持文档向量化
非结构化ETL管道
49
add_knowledge_entry
知识添加
添加知识条目到向量数据库
产品知识、技术规范存储
50
add_data_insight
洞察记录
添加数据洞察到备忘录
分析过程中的重要发现
51
manage_share
共享管理
管理SHARE对象
跨实例数据共享,OUTBOUND/INBOUND
52
show_job_history
作业历史
查询系统级作业执行历史
性能分析、问题排查
53
show_table_load_history
加载历史
查询表的COPY操作加载历史
文件导入历史追踪(7天保留)
54
smart_crawl_to_volume
智能爬取
智能抓取URL内容到Volume
sitemap、网页、文档抓取
55
smart_crawl_url
网页抓取
智能网页内容抓取
高级提取策略、智能分块
56
crawl_single_page
单页抓取
单页面网页抓取
CSS选择器、原始HTML
57
get_operation_guide
操作指南
获取特定操作的综合指南
详细步骤、最佳实践、常见问题
58
run_happy_paths
演示路径
执行Lakehouse快乐路径演示
关键功能展示、完整使用流程






🎁 新用户专享福利


✅ 1 TB 存储 · 1 CRU时/天计算 · 1 年全托管体验  

➤ 即刻访问云器官网领取:

yunqi.tech/product/one-year-package 


  END  

▼点击关注云器科技公众号,优先试用云器Lakehouse!


 关于云器

云器Lakehouse作为面向企业的全托管一体化数据平台,只需注册账户即可管理和分析数据,无需关心复杂的平台维护和管理问题。新一代增量计算引擎实现了批处理、流计算和交互式分析的统一,适用于多种云计算环境,帮助企业简化数据架构,消除数据冗余。


点击文末“阅读原文”,前往云器官网申请试用,了解更多产品细节!


官网:yunqi.tech

B 站:云器科技

知乎:云器科技


往期推荐 




云器科技签约广瞬科技|为CDP解决方案厂商提供可靠的的免运维数据底座


云器科技CTO关涛亮相2025外滩大会


为什么数据库hold不住,对象存储又不好查?快来试试云器一年免费资源包


小红书数据架构的演进——基于通用增量计算构建全增量实验数仓生产新范式

【声明】内容源于网络
0
0
云器科技
云器科技是一家多云、一体化数据平台提供商。自研以“Single-Engine”为核心理念的湖仓平台,帮助企业聚焦数据型业务创新。
内容 43
粉丝 0
云器科技 云器科技是一家多云、一体化数据平台提供商。自研以“Single-Engine”为核心理念的湖仓平台,帮助企业聚焦数据型业务创新。
总阅读25
粉丝0
内容43