README.md

May 29, 2026 ยท View on GitHub

OpenHouse

Control Plane for Tables in Open Data Lakehouses

CI/CD Commit Activity Docs
GitHub Slack

OpenHouse is an open source control plane designed for efficient management of tables within open data lakehouse deployments. The control plane comprises a declarative catalog and a suite of data services. Users can seamlessly define Tables, their schemas, and associated metadata declaratively within the catalog. OpenHouse reconciles the observed state of Tables with the desired state by orchestrating various data services.

Getting Started

Prerequisites

For building and running locally in Docker Compose, you would need the following:

For deploying OpenHouse to Kubernetes, you would need the following:

Building OpenHouse

To build OpenHouse, you can use the following command:

./gradlew build

Running OpenHouse with Docker Compose

The quickest way to run OpenHouse locally:

# Build JARs, Docker images, and start containers (default: oh-hadoop-spark recipe)
./gradlew dockerUp

# Or use a lighter recipe for faster startup
./gradlew dockerUp -Precipe=oh-only

# Stop containers
./gradlew dockerDown

For detailed configuration options and testing instructions, see the SETUP guide.

Deploying OpenHouse to Kubernetes

To deploy OpenHouse to Kubernetes, you can use the DEPLOY guide. You would build the container images for all the OpenHouse services, and deploy them to a Kubernetes cluster using Helm.

Compability Matrix

OpenHouse is built with the following versions of the open-source projects:

ProjectVersion
Apache Iceberg1.2.0
Apache Spark3.1.2
Apache Livy0.7.0-incubating
Apache Hadoop Client2.10.0
Springboot Framework2.6.6
OpenAPI3.0.3

Contributing

We welcome contributions to OpenHouse. To get involved:

Please refer to the CONTRIBUTING guide for more details. To get started on the high-level architecture, please refer to the ARCHITECTURE guide.