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

Installing and Loading

INSTALL hudi FROM community;
LOAD hudi;

Example

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

-- Time-travel to a specific instant
SELECT * FROM hudi_scan('/path/to/hudi_table', as_of = '20260101000000000');

-- Incremental read of new records since the last checkpoint
SELECT * FROM hudi_scan('/path/to/hudi_table', incremental = true);

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

function_name function_type description comment examples
hudi_files scalar NULL NULL  
hudi_info scalar NULL NULL  
read_hudi table NULL NULL  

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.