10 分钟,从零到第一次查询
一行命令部署,一行代码连接数据源,一条 SQL 开始分析。不需要配置集群,不需要申请资源。
只需 Docker,1 台机器
终端窗口
Portal 登录页
浏览器
JupyterLab
第一步:启动 PocketLakehouse
1 台 Linux 机器 + Docker + 3 条命令
克隆仓库
git clone https://github.com/your-org/pocketlake-standalone.git cd pocketlake-standalone
启动 MVP 湖仓
docker compose up -d # 等待 2 分钟
打开 Portal
# 浏览器访问 → http://localhost:28080 # 默认账号: admin / admin123
环境要求:Docker ≥ 20.10 · 内存 ≥ 8GB · 磁盘 ≥ 20GB
第二步:连接你的第一个数据源
Portal 内一键配置,自动同步到 JupyterLab
Portal → 工作台 → 📡 数据源 → 新增数据源
✅ 自动同步到 JupyterLab
JupyterLab 中立即使用:
from pocketlake_datasource import mysql_source
import pandas as pd
conn = mysql_source("myapp")
c = conn.cursor()
c.execute("SELECT * FROM user_info LIMIT 5")
df = pd.DataFrame(c.fetchall(),
columns=[d[0] for d in c.description])
df第三步:一切从 SHOW 开始
Spark SQL 始于 SHOW DATABASES,Trino 始于 SHOW CATALOGS。两条路径,同一个 Iceberg。
Spark SQL 路径
# Spark SQL:看 Iceberg 仓库
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
spark.sql("SHOW DATABASES").toPandas()
# → namespace: minio, gmall_dw
spark.sql("""
CREATE TABLE demo.minio.my_first_table (
id BIGINT, name STRING, value DOUBLE
) USING iceberg
""")
spark.sql("""
INSERT INTO demo.minio.my_first_table VALUES
(1, 'hello', 3.14), (2, 'iceberg', 2.71)
""")Output: DataFrame with 2 rows
Trino 路径
# Trino:看全部数据源
from pocketlake_datasource import trino_source
c = trino_source("biz-tpch").cursor()
c.execute("SHOW CATALOGS")
# → demo, tpch, tpcds, mysql_business, system, jmx, memory
c.execute("""
SELECT n.name, COUNT(*)
FROM tpch.tiny.customer c
JOIN tpch.tiny.nation n ON c.nationkey = n.nationkey
GROUP BY n.name ORDER BY 2 DESC
""")Output: 7 catalogs listed
5 分钟,跑通你的第一条数据管道
从 Notebook 开发 → 测试运行 → 提交到调度,一气呵成
JupyterLab 打开 Notebook
SHOW DATABASES → CREATE TABLE → INSERT → SELECT → UPDATE → DELETE
02-spark-iceberg-crud.ipynbPortal 工作台 → 测试运行
papermill 立即执行 → ✅ 186 行写入 Iceberg
Portal 工作台 → 提交到 DS 调度
cron: 0 3 * * * → 每天凌晨自动跑
Portal 工作台 → Jobs
查看状态、日志 → 完成 ✅
试试 AI:用自然语言查数据
接入 MCP Server 后,直接对话操作 PocketLake
TpcH 中哪个国家的客户最多?
🔍 search_tables("customer")
📊 analyze_table("tpch.tiny.customer")
🧠 生成 SQL ...
✅ 执行查询
📋 结果:
CHINA, 300 个客户
INDIA, 280 个客户
JAPAN, 250 个客户
查看 MCP 配置▼
// mcp.json — 3 步接入
{
"mcpServers": {
"pocketlake": {
"command": "pocketlake-mcp",
"env": {
"POCKETLAKE_API_BASE": "http://localhost:28080/api",
"POCKETLAKE_API_KEY": "sk-xxx"
}
}
}
}接下来,深入 PocketLakehouse
4 条进阶路径,按需选择
建仓向导
完整 ODS→DIM→DWD→DWS→ADS 五层数仓
examples/02-spark-iceberg-crud.ipynbTPC-H 基准测试
跑通 22 条标准分析查询
examples/tpch/01-tpch-queries-trino.ipynbTrino 联邦查询
一条 SQL 跨 7 个 Catalog
examples/03-trino-catalogs-query.ipynbMCP 接入指南
22 个 AI Tool 全清单
docs/user-guide/mcp-access-guide.md