Flink: Support Lookup join#17280
Open
Guosmilesmile wants to merge 1 commit into
Open
Conversation
Guosmilesmile
force-pushed
the
lookup_join
branch
2 times, most recently
from
July 17, 2026 10:59
ce9c20e to
dab7749
Compare
Guosmilesmile
force-pushed
the
lookup_join
branch
from
July 17, 2026 11:19
dab7749 to
e22d9eb
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds lookup join support for Iceberg Flink table source, including both partial lookup cache, and full lookup cache with optional periodic refresh.
The implementation enables Iceberg tables to be used as temporal lookup join dimensions in Flink SQL.
Supported Features
Lookup join against Iceberg table source
Lookup key filtering
NULLlookup keys are handled correctly withIS NULLsemantics.Pushed-down filter support
Partial lookup cache
DefaultLookupCacheandPartialCachingLookupProvider.Full lookup cache
Periodic refresh for full lookup cache
How to Use
Basic lookup join
Lookup join with partial cache
Lookup join with full cache
or
Full cache with periodic refresh
Behavior by cache mode:
lookup.cache = PARTIALDefaultLookupCache.lookup.cache = FULLlookup.full-cache.periodic-reload.intervalis configured, the cache is reloaded periodically.