Reproducible data science over data lakes: replayable data pipelines with Bauplan and Nessie
Jacopo Tagliabue, Ciro Greco
TL;DR
The paper tackles reproducibility of data workloads over data lakes by decoupling compute from data management using Bauplan and the Nessie data catalog. It presents a multi-language, declarative pipeline model executed in a cloud FaaS runtime, with time-travel and branching semantics enabled by a Git-like data catalog. Key contributions include abstractions across in-memory to on-disk representations (Arrow, Parquet, Iceberg), a simple CLI for cloud execution, and Nessie’s branching/transactions for reproducible runs. The approach aims to reduce debugging complexity and provide reproducible pipelines with minimal user effort, enhancing practicality for Lakehouse-style architectures.
Abstract
As the Lakehouse architecture becomes more widespread, ensuring the reproducibility of data workloads over data lakes emerges as a crucial concern for data engineers. However, achieving reproducibility remains challenging. The size of data pipelines contributes to slow testing and iterations, while the intertwining of business logic and data management complicates debugging and increases error susceptibility. In this paper, we highlight recent advancements made at Bauplan in addressing this challenge. We introduce a system designed to decouple compute from data management, by leveraging a cloud runtime alongside Nessie, an open-source catalog with Git semantics. Demonstrating the system's capabilities, we showcase its ability to offer time-travel and branching semantics on top of object storage, and offer full pipeline reproducibility with a few CLI commands.
