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 go, and how results change when the architecture or operating conditions change. It produces measurements and supporting context, not a verdict on the best architecture or its production suitability.

How Lakebench works

An experiment combines four elements:

  • Workload: the data, processing, queries and outcomes that exercise the architecture.
  • Architecture: the composition of processing engines, table formats, catalogs and query engines.
  • System: the Kubernetes, compute, network and storage environment.
  • Execution conditions: scale, resource allocations, execution mode and other controls.

Workload x Architecture x System x Execution conditions -> Evidence

Lakebench deploys the components, generates data, runs the workload, collects measurements and writes reports.

Workloads

  • Customer 360: a retail analytics workload. Customer interactions are ingested, validated, transformed, aggregated and queried. (overview)
  • Financial Crime / AML: transaction-monitoring over synthetic financial transactions: ingestion, transformation, detection and analytical queries. It evaluates how the architecture executes the workload, not the effectiveness of a production AML system. (overview)

Running an experiment

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 the architecture; --workload financial selects the AML workload. lakebench config recipes lists the 11 supported recipes.
  • 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.

Results

Depending on the workload, a run records outcomes and correctness, stage timings, throughput, query or detection performance, storage I/O, and compute and memory use. Results describe behaviour under the conditions of that run. Compare runs only when their execution conditions and workload semantics match.

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

Prerequisites

Lakebench does not provision the Kubernetes cluster or the storage.

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 mode. lakebench plan checks the cluster and Sizing lists every combination.

Prerequisites lists every check and its fix.

Documentation

License

Apache 2.0

Metadata

Release files for lakebench-k8s 1.7.13

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.13
File Size Uploaded Provenance
lakebench_k8s-1.7.13.tar.gz 2.0 MB With provenance Details

Built distribution (wheel)

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

Total release size: 3.8 MB

Release files / lakebench_k8s-1.7.13.tar.gz

Download URL lakebench_k8s-1.7.13.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
b8c1dbdad97581e1b636eba3e806cb9870787c0bb035283b7d7b631c6bcbe851
BLAKE2b-256 checksum
How to use checksums
2718dabc1b3890349dfe13a47771c958bc2e9a997bb5c251c3bde08008e6676d
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 25, 2026.

Transparency log

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

Download URL lakebench_k8s-1.7.13-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
22f7bf53aaa62fa148fa67c4fa034db20e0fc210bab810a467e0bdf55099ecfe
BLAKE2b-256 checksum
How to use checksums
f78104a8276448cdc917da88acd3f4d1f7443eb58987fa26ae051d0995b3dfe0
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 25, 2026.

Transparency log

Security for lakebench-k8s 1.7.13

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.13.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 25, 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.13 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