apache / apache/hudi

Row Level TTL Support for records stored in Hudi

Open
#14,770 0 comments 0 reactions 0 assignees View on GitHub
area:tools from-jira priority:high type:feature
Dominant language
Java
Stars
6.2k
Forks
2.5k
Avg merge
2d 8h
Merged PRs (30d)
111

Description

For e:g : Have records only updated last month 

 

GH: https://github.com/apache/hudi/issues/2743

## JIRA info

- Link: https://issues.apache.org/jira/browse/HUDI-1741
- Type: New Feature

---

## Comments

31/Mar/21 00:43;vbalaji;[~shivnarayan] : FYI;;;

---

03/Apr/21 16:28;pratyakshsharma;Guess the same can be handled with this Jira - https://issues.apache.org/jira/browse/HUDI-349? [~vbalaji] [~shivnarayan];;;

---

05/Apr/21 15:25;aditiwari;[~pratyakshsharma] I guess with time based cleaning policy, we might need some modifications in compactor as well. 

For a recently updated base file also some of its records might be older.

Time based cleaner and filtering out records with older commit time while compacting(in MOR) or rewriting(in COW) base file should solve the issue.;;;

---

28/Oct/22 03:09;nicholasjiang;[~shivnarayan], IMO, each record of hudi has the commit time of hudi. The solution is to first follow the TTL, do not display expired data when checking, or even push down to the data source directly, and then delete it when doing operations such as clustering that need to rewrite the data. WDYT?

cc [~xleesf] ;;;

---

28/Oct/22 03:29;xleesf;[~nicholasjiang] agree with the solution;;;

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the Hudi-1741 and Hudi-349 references, then trace the time-based cleaner, compactor, MOR/COW rewriting, and clustering paths mentioned in the discussion. Define how row-level TTL should hide expired records and remove them during rewrite operations, and add coverage for records that are old within a recently updated base file.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
data-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.