Querybook:一个开源大数据查询分析工具

发布于:2025-07-05 ⋅ 阅读:(11) ⋅ 点赞:(0)

Querybook 是一款由 Pinterest 开源、基于 Web 浏览器的大数据分析集成开发环境(IDE),专为数据分析师、工程师及业务人员设计,致力于简化大数据查询、协作与可视化流程。

体系结构

Querybook 包含三个主要的组件:

  • Web Server:处理 HTTP 请求,发送/接收 Websocket 消息,提供网站静态资源。
  • Worker:执行查询语句和预计划的 DataDoc(交互式数据分析笔记),以及其他辅助任务,例如更新 ElasticSearch 或者分析查询血缘。
  • Scheduler:从数据库中读取任务计划并发送给 Worker。

同时,Querybook 还包含以下基础设施:

  • 数据库:用于存储 DataDoc、查询执行历史等信息。任何兼容 SQLAlchemy 的数据库都可以,推荐使用 MySQL。
  • Redis:用于发送异步任务到 Worker,维护多个 WebSocket 连接,以及缓存实时数据进行协作编辑。
  • Elasticsearch:支持数据库文档(DataDoc、表)的搜索功能,也用于表和用户的自动补全。
  • 远程存储: 存储查询结果。Querybook 不限制从查询引擎拉取的数据量,因此推荐使用大型存储服务(例如 S3)。如果没有提供远程存储,将会使用数据库进行存储。

主要功能

Querybook 提供的主要功能包括:

  • 集成多种查询引擎,包括 Presto、Hive、Druid、Snowflake、Big Query、MySQL、SQLite、PostgreSQL、SQL Server、Oracle 等;
  • 基于富文本、SQL 查询以及图表构建数据分析笔记(DataDoc);
  • 支持查询语句的自动补全和鼠标悬停提示;
  • 基于定时任务和图表构建可视化仪表盘;
  • 支持团队实时协作编辑与评论;
  • 支持表结构元数据管理;
  • 支持 AI 助手,实现文本转 SQL、自动完成、错误修复等功能;
  • 自动分析查询历史,构建数据血缘关系、高频用户画像及表使用排名;
  • 支持查询结果导出 Google Sheets、Microsoft 365、Python 脚本等;
  • 支持查询执行通知,包括 Email、Slack、Microsoft Teams。

下载安装

推荐使用 Linux 或者 macOS 系统运行 Querybook,首先克隆并下载代码库:

git clone git@github.com:pinterest/querybook.git
cd querybook

然后构建并运行 Docker 容器(需要提前安装 Docker):

make

在浏览器中输入以下地址进行访问:

https://localhost:10001

详细信息可以参考下面的文档:

https://www.querybook.org/docs/setup_guide/setup_overview


网站公告

今日签到

点亮在社区的每一天
去签到