Search Shortcut cmd + k | ctrl + k

Query Apache Hudi COW and MOR tables directly in DuckDB — full scans, time-travel (as_of), incremental windows, and table metadata — powered by the Rust hudi-rs kernel.

Maintainer(s): alitrack

Compatibility Matrix

This table covers all DuckDB releases that have not reached end-of-life, including LTS releases, and shows the 2 most recent patch releases of each. Older patch releases are not listed, but the extension may be available for them as well.

Platform 1.4.4 1.4.5 1.5.5 1.5.6 2.0.0
Linux AMD64
Linux ARM64
macOS AMD64
macOS ARM64
Windows AMD64
Windows ARM64
WebAssembly

Installing and Loading

INSTALL hudi FROM community;
LOAD hudi;

Example

-- Read a Hudi COW table
INSTALL hudi FROM community;
LOAD hudi;
SELECT * FROM read_hudi('/path/to/hudi_table')
WHERE dt = '2026-01-01';

-- Time-travel to the latest commit <= an instant
SELECT * FROM read_hudi('/path/to/hudi_table', as_of => '20260101000000000');

-- Incremental read of changes in (start, "end"]
-- ("end" is a reserved word, so quote it as a named parameter)
SELECT * FROM read_hudi('/path/to/hudi_table',
    start => '20260101000000000', "end" => '20260102000000000');

-- Table metadata: type, latest commit, file counts
SELECT hudi_info('/path/to/hudi_table');

About hudi

duckdb-hudi

DuckDB extension that reads Apache Hudi tables (COW and MOR) using the hudi-rs Rust kernel. Source: https://github.com/alitrack/duckdb-hudi

Install

INSTALL hudi FROM community;
LOAD hudi;

Features

  • Full scan of COW and MOR Hudi tables
  • Time-travel via as_of (query a table at a specific instant)
  • Incremental reads (new/changed records since a checkpoint)
  • Table schema + metadata queries
  • Parallel scanning

Build note

The extension is built from the DuckDB C-API Rust template and its hudi dependency pulls in the Lance crate, which runs prost-build at compile time. Building therefore requires protoc to be available (this extension declares requires_toolchains: rust; the protobuf compiler is the one toolchain not yet in the default community build environment — see the PR description for the resolution).

Added Functions

This extension does not add any functions.

Overloaded Functions

This extension does not add any function overloads.

Added Types

This extension does not add any types.

Added Settings

This extension does not add any settings.