Querybook:Pinterest 开源的多人协作大数据分析 IDE
Querybook 是 Pinterest 开源的一个 Web 大数据分析 IDE,面向数据分析师、工程师与业务人员,用于完成查询、协作与可视化工作流。
体系结构
Querybook 由三个主要组件构成:
- Web Server:处理 HTTP 请求,收发 Websocket 消息,托管网站静态资源。
- Worker:执行 SQL 查询和预计划的 DataDoc(交互式数据分析笔记),也负责更新 ElasticSearch、分析查询血缘等辅助任务。
- Scheduler:从数据库读取任务计划,分发给 Worker。
另外依赖以下基础设施:
- 数据库:存储 DataDoc、查询执行历史等数据。兼容 SQLAlchemy 的数据库均可,推荐 MySQL。
- Redis:向 Worker 分发异步任务、维护多个 WebSocket 连接、缓存协作编辑所需的实时数据。
- Elasticsearch:支撑 DataDoc 与表相关的搜索、表结构和用户的自动补全。
- 远程存储:保存查询结果。Querybook 不限制从查询引擎拉取的数据量,因此推荐配合 S3 等大型存储服务使用;未配置远程存储时会回落到数据库保存结果。
主要功能
- 集成 Presto、Hive、Druid、Snowflake、BigQuery、MySQL、SQLite、PostgreSQL、SQL Server、Oracle 等查询引擎;
- 用富文本、SQL 查询和图表组合成分析笔记 DataDoc;
- SQL 编辑器支持自动补全与鼠标悬停提示;
- 基于定时任务和图表构建可视化仪表盘;
- 多用户实时协同编辑与评论;
- 管理表结构等元数据;
- 内置 AI 助手,支持文本转 SQL、自动补全、错误修复等能力;
- 自动分析查询历史,生成数据血缘关系、高频用户画像与表使用排名;
- 将查询结果导出到 Google Sheets、Microsoft 365、Python 脚本等目标;
- 通过 Email、Slack、Microsoft Teams 推送查询执行通知。
下载安装
建议在 Linux 或 macOS 下运行。克隆代码后进入目录:
git clone git@github.com:pinterest/querybook.git
cd querybook
构建并启动 Docker 容器(本机需预先安装 Docker):
make
然后在浏览器打开:
https://localhost:10001
完整安装步骤见官方文档: