apache / apache/hudi-rs

Add interactive TUI

Open
#464 0 comments 2 reactions 0 assignees View on GitHub
feature
Dominant language
Rust
Stars
279
Forks
67
Avg merge
3d 1h
Merged PRs (30d)
40

Description

### Feature Description

we plan to build a terminal user interface (TUI) using `ratatui`, providing an interactive way to explore and troubleshoot hudi tables.

**Phase 1 – Commit Timeline** -> Provide a visual overview of table commit history
- Display commit timeline (timestamp, type: UPSERT, DELETE, etc.)
- Show commit metadata summary (e.g., record count, file count)

**Phase 2 – Table & Storage Stats Dashboard** -> Offer a quick health overview
- Show basic table metadata: schema, table type, partition info
- Display overall stats: total files, total records, last commit time
- Include storage-level metrics: data size, parquet/log file counts

**Phase 3 – File Management View** -> Help users diagnose small-file problems and compaction needs
- List files by partition (with size, commit association)
- Highlight small files (configurable threshold, e.g., <128MB)
- Show file “age” and related commit

we can call existing hudi-core APIs, or build new ones if needed. the goal is to make it work with python (e.g. `pip install xxx`) to reach more users.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by locating the existing hudi-core APIs and Python bindings mentioned in the issue, then determine how a terminal interface would access table metadata and file information. The proposed phases define the intended result: a commit timeline, statistics dashboard, and file-management view, with Python installation support; no specific files or tests are named.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, rust
Domain
cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.