sail

GitHub
1.3k 82 简单 1 次阅读 今天Apache-2.0数据工具开发框架
AI 解读 由 AI 自动生成,仅供参考

Sail 是由 LakeSail 推出的开源统一分布式多模态计算框架,旨在打破传统数据处理与人工智能计算之间的壁垒。它成功将批处理、流处理以及高算力需求的 AI 工作负载整合到同一个引擎中,解决了以往需要维护多套系统导致的架构复杂、数据流转效率低及成本高昂等痛点。

这款工具特别适合大数据工程师、AI 开发者及数据架构师使用。其最大的技术亮点在于完全基于 Rust 语言原生构建,彻底摒弃了 Java 虚拟机(JVM)的开销,从而实现了内存安全、秒级启动和可预测的高性能表现。在实际基准测试中,Sail 的处理速度可达 Spark 的 4 倍甚至更高,同时能显著降低基础设施成本。

对于熟悉 Spark 生态的用户而言,迁移门槛极低。Sail 完美兼容 Spark Connect 协议,支持现有的 Spark SQL 和 DataFrame API,意味着用户无需重写任何代码即可无缝切换,直接享受更优的性能红利。无论是本地开发调试,还是在 Kubernetes 集群中进行大规模分布式部署,Sail 都提供了灵活便捷的启动与连接方式,是追求极致效率与低成本运营团队的理想选择。

使用场景

某电商数据团队每天需处理 TB 级用户行为日志,既要完成夜间批量报表统计,又要实时监测异常流量并运行推荐模型。

没有 sail 时

  • 架构割裂:批处理用 Spark、流计算用 Flink、AI 推理用单独集群,维护三套系统导致开发协作困难。
  • 成本高昂:JVM 内存开销大且资源利用率低,每月云基础设施账单居高不下。
  • 响应迟缓:传统引擎启动慢,遇到突发流量高峰时无法秒级扩容,导致实时大屏数据延迟。
  • 代码冗余:为适配不同引擎,同一套数据清洗逻辑需重写多次,测试与迭代周期被拉长。

使用 sail 后

  • 统一框架:sail 将批处理、流计算和 AI 负载整合至单一引擎,团队仅需维护一套代码库即可覆盖全场景。
  • 极致降本:凭借 100% Rust 原生特性消除 JVM 开销,基础设施成本直接降低 94%,显著优化预算。
  • 即时弹性:sail 实现毫秒级启动与稳定性能,面对流量洪峰可瞬间扩容,确保实时指标零延迟。
  • 无缝迁移:完全兼容 Spark Connect 协议,现有 PySpark 代码无需任何修改即可运行,且查询速度提升 4 倍。

sail 通过统一的 Rust 原生架构,让企业在大幅削减成本的同时,实现了从离线到实时再到 AI 计算的高效融合。

运行环境要求

操作系统
  • 未说明
GPU

未说明

内存

未说明 (基准测试显示峰值内存使用显著低于 Spark,空闲时仅需几 MB)

依赖
notes该工具是基于 Rust 原生开发的分布式多模态计算框架,兼容 Spark Connect 协议。无需重写代码即可替代 Spark。支持通过命令行、Python API 或 Kubernetes 部署。生产环境部署需参考官方文档构建 Docker 镜像。由于是 Rust 实现,无 JVM 开销,启动速度快且内存安全。
python未说明 (需安装 pysail 和 pyspark)
pysail
pyspark>=4.0 (推荐包含 connect 支持)
sail hero image

快速开始

Sail

构建状态 Codecov PyPI 发布 静态 Slack 徽章

Sail 是由 LakeSail 创建的开源 统一且分布式的多模态计算框架

我们的使命是 统一批处理、流处理以及计算密集型 AI 工作负载。Sail 是一款计算引擎,具有以下特点:

  • 兼容 Spark Connect 协议,支持 Spark SQL 和 DataFrame API,无需重写代码。
  • 在基准测试中比 Spark 快约 4 倍(在特定工作负载下可达 8 倍)。
  • 基础设施成本低 94%。
  • 100% Rust 原生,无 JVM 开销,提供内存安全、即时启动和可预测的性能。

🚀 Sail 在 ClickBench 上的表现优于 Spark、流行的 Spark 加速器、Databricks 和 Snowflake。

💬 加入我们的 Slack 社区,提问、分享反馈,并与其他 Sail 用户和贡献者交流。

文档

最新版本 Sail 的文档可以在这里找到:点击此处

安装

快速入门

Sail 作为 Python 包已在 PyPI 上发布。您可以在 Python 环境中同时安装它和 PySpark。

pip install pysail
pip install "pyspark[connect]"

或者,自 Spark 4.0 起,您也可以安装轻量级客户端包 pyspark-client。与 pyspark[connect] 等效的 pyspark-connect 包同样自 Spark 4.0 起可用。

高级用法

您可以从源码安装 Sail,以针对您的特定硬件架构优化性能。详细的 安装指南 将逐步指导您完成此过程。

如果您需要在生产环境中部署 Sail,部署指南 提供了在 Kubernetes 集群及其他基础设施配置上部署 Sail 的全面说明。

入门

启动 Sail 服务器

选项 1:命令行界面。 您可以使用 sail 命令启动本地 Sail 服务器。

sail spark server --port 50051

选项 2:Python API。 您也可以使用 Python API 启动本地 Sail 服务器。

from pysail.spark import SparkConnectServer

server = SparkConnectServer(port=50051)
server.start(background=False)

选项 3:Kubernetes。 您可以将 Sail 部署到 Kubernetes 上,并以集群模式运行 Sail 进行分布式处理。 请参阅 Kubernetes 部署指南,了解如何构建 Docker 镜像和编写 Kubernetes 清单 YAML 文件。

kubectl apply -f sail.yaml
kubectl -n sail port-forward service/sail-spark-server 50051:50051

连接到 Sail 服务器

一旦 Sail 服务器运行起来,您就可以在 PySpark 中连接到它。 无需更改您的 PySpark 代码!

from pyspark.sql import SparkSession

spark = SparkSession.builder.remote("sc://localhost:50051").getOrCreate()
spark.sql("SELECT 1 + 1").show()

更多详细信息,请参阅 入门指南

功能亮点

存储

Sail 支持多种存储后端,用于读取和写入数据。您可以在我们的 存储指南 中了解更多详情。

以下是支持的存储选项:

  • AWS S3
  • Cloudflare R2
  • Azure
  • Google Cloud Storage
  • Hugging Face
  • HDFS
  • 文件系统
  • HTTP/HTTPS
  • 内存存储

Lakehouse 格式

Sail 原生支持现代 lakehouse 表格格式,提供可靠的数据存储层和强大的数据管理保障,同时确保与现有数据集的互操作性。

有关支持的格式,请参阅以下指南:

目录提供商

Sail 支持多种目录提供商,例如 Apache Iceberg REST 目录和 Unity 目录。您可以将数据集管理为外部表,并与更广泛的数据平台生态系统集成。 有关使用方法和最佳实践的更多信息,请参阅 目录指南

基准测试结果

基于 TPC-H 的测试结果显示,Sail 在每项查询中均优于 Apache Spark:

  • 执行时间:在各种 SQL 工作负载中快约 4 倍。
  • 硬件成本:降低 94%,峰值内存占用显著减少,且无 shuffle spill。
指标 Spark Sail
总查询时间 387.36 s 102.75 s
查询加速倍数 基线 43% – 727%
峰值内存占用 54 GB 22 GB (1 s)
磁盘写入(Shuffle Spill) > 110 GB 0 GB

这些结果来自 AWS r8g.4xlarge 实例上的衍生 TPC-H 基准测试(22 个查询,比例因子 100,Parquet 格式)。

查询时间对比

完整的分析和图表请参见我们的 基准测试结果页面

为什么选择 Sail?

15 多年前,Spark 的诞生可谓革命性。它重新定义了分布式数据处理方式,并为各行各业的 ETL、机器学习和分析管道提供了动力。

然而,Spark 基于 JVM 的架构如今已难以满足现代对性能和云效率的需求:

  • 垃圾回收暂停会导致延迟激增。
  • 序列化开销会减缓 JVM 与 Python 之间的数据交换。
  • 重型执行器会推高云成本并使扩展复杂化。
  • 基于行的处理在分析型工作负载中表现不佳,无法充分利用硬件效率。
  • 启动缓慢会延迟工作负载,影响交互式和按需使用场景。

Sail 通过现代化的 Rust 原生设计解决了这些问题。

Sail 与 Spark 兼容

Sail 提供了 Spark SQL 和 Spark DataFrame API 的直接替换方案。只需通过 Spark Connect 协议将您的 Spark 客户端会话连接到 Sail,现有的 PySpark 代码即可开箱即用。

  • Spark SQL 方言支持。 自定义的 Rust 解析器(基于解析组合子和 Rust 过程宏构建)以生产级精度覆盖了 Spark SQL 语法。
  • DataFrame API 支持。 Spark DataFrame 操作在 Sail 上运行时具有完全相同的语义。
  • Python UDF、UDAF、UDWF 和 UDTF 支持。 Python、Pandas 和 Arrow UDF 均遵循与 Spark 相同的规范。

Sail 相较于 Spark 的优势

  • 原生 Rust 引擎。 无垃圾回收停顿、无需 JVM 内存调优,且内存占用极低。
  • 列式存储与向量化执行。 基于 Apache ArrowApache DataFusion 构建,列式内存格式结合 SIMD 指令,实现了极速查询执行。
  • 超快的 Python UDF 执行。 Python 代码在 Sail 内部运行时零序列化开销,因为 Arrow 数组指针实现了零拷贝的数据共享。
  • 高效的数据洗牌。 工作节点之间直接交换 Arrow 列式数据,从而最大限度地降低连接和聚合操作的洗牌成本。
  • 轻量级、无状态的工作节点。 工作节点可在几秒钟内启动,空闲时仅消耗几 MB 内存,并可弹性扩展,以降低云成本并简化运维。
  • 值得信赖的并发与内存安全。 Rust 的所有权模型可防止空指针、竞态条件及不安全的内存访问,从而提供无与伦比的可靠性。

想了解 Sail 如何与 Spark 竞争吗?请查看我们的 为什么选择 Sail? 页面。准备好迁移现有工作负载了吗?我们的 迁移指南 将为您详细介绍具体步骤。

更多阅读

  • 架构 – 介绍 Sail 在本地模式和集群模式下的设计,以及如何在这两种模式之间无缝切换。
  • 查询计划 – 详细说明 Sail 如何解析 SQL 和 Spark 关系表达式,构建逻辑和物理计划,并处理本地与集群模式下的执行流程。
  • SQLDataFrame 功能 – Spark SQL 和 DataFrame API 兼容性的完整参考。
  • LakeSail 博客 – Sail 发布信息、基准测试结果及技术洞察的最新动态。

✨ 正在使用 Sail 吗?分享您的故事,即可获得免费周边礼品!✨

版本历史

v0.5.32026/03/21
v0.5.22026/03/02
v0.5.12026/02/15
v0.5.02026/02/06
v0.4.62026/01/13
v0.4.52025/12/22
v0.4.42025/12/12
v0.4.32025/11/27
v0.4.22025/11/13
v0.4.12025/11/02
v0.4.02025/10/29
v0.3.72025/10/03
v0.3.62025/09/30
v0.3.52025/09/05
v0.3.42025/09/03
v0.3.32025/08/14
v0.3.22025/08/08
v0.3.12025/07/07
v0.3.02025/06/28

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|昨天
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

142.7k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.9k|★★☆☆☆|昨天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|今天
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|昨天
语言模型图像Agent