Skip to main content

Lakebench

Python 3.10+ License

Evaluate lakehouse architectures through the workloads they execute.

Lakebench runs defined data workloads against configurable lakehouse architectures on Kubernetes. It measures how the assembled system behaves, where time and resources are consumed, and how results change when architectural choices or operating conditions change.

Rather than benchmarking individual components in isolation, Lakebench evaluates the behaviour of the architecture as a whole.

Why Lakebench?

A lakehouse is a composition of technologies. Its behaviour depends on how those technologies work together, the workload being executed and the infrastructure underneath them.

Component benchmarks cannot tell you how the complete architecture will behave when ingesting, transforming, analyzing and maintaining data.

Lakebench provides a repeatable way to investigate three questions:

  1. How does the architecture behave? Execute a defined workload and measure its outcomes, processing stages and resource consumption.
  2. Where are the constraints? Examine where execution time is spent and which system resources contribute to observed behaviour.
  3. What changes when the architecture changes? Repeat the workload with different supported components, configurations or operating conditions and compare the evidence.

Lakebench produces measurements and supporting context. It does not automatically determine the best architecture or establish production suitability.

How Lakebench Works

Every Lakebench experiment brings together four elements:

Workload: The data, processing, queries and outcomes that exercise the architecture.

Architecture: The supported composition of processing engines, table formats, catalogs and query engines.

System: The Kubernetes, compute, network and storage environment on which the architecture runs.

Execution conditions: The scale, resource allocations, execution mode and other controls under which the workload executes.

Together, these produce evidence of how the workload behaved.

Workload x Architecture x System x Execution conditions -> Evidence

Lakebench automates supported deployment and execution activities, collects measurements and produces reports for examining the results.

Workloads

Lakebench currently provides two synthetic workloads.

Customer 360

Customer 360 exercises a retail analytics workload. Customer interactions are ingested, validated, transformed and aggregated into analytical datasets that are queried for business insights.

It exercises the architecture through data preparation, transformation, aggregation and analytical querying.

Financial Crime / AML

The financial-crime workload exercises transaction-monitoring data processing using synthetic financial transactions.

It combines ingestion, transformation, detection and analytical activity to examine both processing behaviour and detection outcomes.

Its purpose is to evaluate how the architecture executes the workload, not to establish the effectiveness of a production AML detection system.

The two workloads exercise different data-processing behaviours while using the same underlying architectural composition model.

Running an Experiment

Lakebench supports a workflow that:

  1. Defines the workload, architecture and execution configuration.
  2. Deploys the required supported components onto Kubernetes.
  3. Generates synthetic workload data.
  4. Executes the workload.
  5. Collects measurements and produces results.
  6. Supports subsequent investigation and comparison.

Install

pip install lakebench-k8s

Binaries that need no Python are on GitHub Releases.

Run

lakebench init --endpoint http://your-s3-endpoint:80    # writes lakebench.yaml
export LAKEBENCH_S3_ACCESS_KEY=...
export LAKEBENCH_S3_SECRET_KEY=...
lakebench admin install --component all lakebench.yaml  # once per cluster
lakebench plan lakebench.yaml                           # what the run needs (read-only)
lakebench run lakebench.yaml --generate --yes           # deploy, generate, run workload
lakebench report lakebench.yaml                         # print results
lakebench destroy lakebench.yaml                        # remove what this deployment created
  • init writes a minimal configuration. --recipe <name> selects an architectural composition; --workload financial selects the AML workload. There are 11 supported recipes. lakebench config recipes lists them.
  • admin install places shared cluster components (Spark Operator, Stackable operators for Hive recipes, scratch StorageClass). Run once per cluster.
  • plan checks whether the cluster has room for the workload. It changes nothing.
  • --generate fills the bronze bucket with synthetic data. Without it, run refuses (exit 4).
  • --yes lets run deploy the namespace and components. Without it, run lakebench deploy first.
  • destroy removes only what this deployment created. It asks for confirmation unless --yes is passed.

The full walkthrough is Getting Started.

Understanding Results

Lakebench records how the workload executed under the specified conditions.

Depending on the workload and available instrumentation, this can include:

  • Workload outcomes and correctness.
  • Execution time and processing-stage behaviour.
  • Throughput and resource efficiency.
  • Query or detection performance.
  • Compute, memory and storage observations.

Results describe observed behaviour under particular conditions. They are not universal performance claims.

Comparing results requires understanding what changed between runs and whether their execution conditions and workload semantics are equivalent.

lakebench report prints a summary and the path to the HTML report. --render writes a fresh copy; --format json or csv for scripts.

Prerequisites

Lakebench requires a supported Kubernetes environment and access to compatible storage. It does not provision the underlying infrastructure.

Host tooling:

  • kubectl and helm on PATH.

Kubernetes:

  • Kubernetes 1.26+.
  • Permission to create a namespace.

Storage:

  • S3-compatible object storage with an endpoint URL, access key and secret key. Validated on FlashBlade and Garage; expected to work on AWS S3, MinIO and other S3-compatible stores. lakebench config storage checks yours.

Cluster capacity:

  • Room for the workload. Scale 1 batch needs about 41 cores and 544 GB. Requirements grow with scale and differ by workload and execution mode. lakebench plan checks the cluster; Sizing has every combination.

The Prerequisites page lists every check and its fix.

Documentation

License

Apache 2.0

Metadata

Release files for lakebench-k8s 1.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lakebench-k8s 1.7.1
File Size Uploaded Provenance
lakebench_k8s-1.7.1.tar.gz 2.0 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for lakebench-k8s 1.7.1
File Interpreter ABI Platform
lakebench_k8s-1.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 3.7 MB

Release files / lakebench_k8s-1.7.1.tar.gz

Download URL lakebench_k8s-1.7.1.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
5e6d6e33ad32015149f7a59784d53bb32bcd4c9c84d8f03f6a6b6f40da0b24a4
BLAKE2b-256 checksum
How to use checksums
c81f5f029ee635ad5c822fdd93e36b797267ae6b2675263cc4b86e9839ed0c2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / lakebench_k8s-1.7.1-py3-none-any.whl

Download URL lakebench_k8s-1.7.1-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
7468d277e0f5251ea42ad4a1cfcd6f015a9920c730e22a086dd7a34cfed94f5c
BLAKE2b-256 checksum
How to use checksums
5c4a67529d652a68da907d2bd21acdd0b044f76ddf3739e01dedc2ab60203727
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Security for lakebench-k8s 1.7.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for lakebench_k8s-1.7.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.7.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page