Lakehq/sail: Drop in spark replacement in Rust LakeSail released Sail, a drop-in Apache Spark replacement written in Rust that unifies batch, stream, and AI workloads, claiming ~4× faster performance (up to 8× in specific workloads) and 94% lower infrastructure costs than Spark. The engine is compatible with Spark Connect, supporting Spark SQL and DataFrame APIs without code rewrites, and is available as a Python package on PyPI. Sail is a drop-in Apache Spark replacement written in Rust, unifying batch processing, stream processing, and compute-intensive AI workloads on a distributed, multimodal compute engine. Compatible with the Spark Connect protocol, supporting the Spark SQL and DataFrame API with no code rewrites required. 100% Rust-native with no JVM overhead, delivering memory safety, instant startup, and predictable performance. ~4× faster up to 8× in specific workloads than Spark and 94% cheaper on infrastructure costs. See. derived TPC-H benchmarks benchmark-results Proven on , outperforming Spark, popular Spark accelerators, Databricks, and Snowflake. ClickBench https://go.lakesail.com/clickbench The documentation of the latest Sail version can be found here https://docs.lakesail.com/sail/latest/ . Sail is available as a Python package on PyPI. You can install it along with PySpark in your Python environment. pip install pysail pip install "pyspark-client" You can install Sail from source to optimize performance for your specific hardware architecture. The detailed Installation Guide https://docs.lakesail.com/sail/latest/introduction/installation/ walks you through this process step-by-step. If you need to deploy Sail in production environments, the Deployment Guide https://docs.lakesail.com/sail/latest/guide/deployment/ provides comprehensive instructions for deploying Sail on Kubernetes clusters and other infrastructure configurations. Option 1: Command Line Interface. You can start the local Sail server using the sail command. sail spark server --port 50051 Option 2: Python API. You can start the local Sail server using the Python API. python from pysail.spark import SparkConnectServer server = SparkConnectServer port=50051 server.start background=False Option 3: Kubernetes. You can deploy Sail on Kubernetes and run Sail in cluster mode for distributed processing. Please refer to the Kubernetes Deployment Guide https://docs.lakesail.com/sail/latest/guide/deployment/kubernetes.html for instructions on building the Docker image and writing the Kubernetes manifest YAML file. kubectl apply -f sail.yaml kubectl -n sail port-forward service/sail-spark-server 50051:50051 Once you have a running Sail server, you can connect to it in PySpark. No changes are needed in your PySpark code python from pyspark.sql import SparkSession spark = SparkSession.builder.remote "sc://localhost:50051" .getOrCreate spark.sql "SELECT 1 + 1" .show Please refer to the Getting Started https://docs.lakesail.com/sail/latest/introduction/getting-started/ guide for further details. Sail is designed to be compatible with Spark 3.5.x, Spark 4.x, and later versions. Existing PySpark code works out of the box once you connect your Spark client session to Sail over the Spark Connect protocol. As a starting point, Sail ships with an experimental PySpark function compatibility check script https://docs.lakesail.com/sail/latest/introduction/migrating-from-spark/ check-your-code-for-compatibility that scans your codebase for PySpark functions and reports their Sail support status. python -m pysail.examples.spark.compatibility check