-
Notifications
You must be signed in to change notification settings - Fork 284
hash agg spill #22087
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
hash agg spill #22087
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
User description
What type of PR is this?
Which issue(s) this PR fixes:
issue #3433
What this PR does / why we need it:
add spill for hash aggregation
PR Type
Enhancement
Description
Add spill functionality for hash aggregation operations
Implement memory tracking and threshold-based spilling
Add serialization support for hash tables
Create spiller infrastructure for disk-based operations
Changes diagram
Changes walkthrough 📝
1 files
Add marshal/unmarshal tests for hash tables
18 files
Implement MarshalBinary/UnmarshalBinary for Int64HashMap
Implement MarshalBinary/UnmarshalBinary for StringHashMap
Add Size method to AggContext
Add Size method to approx count executors
Add Size method to group concat executor
Add Size method to count executors
Add Size method to distinct hash
Add Size method to bytes-to-bytes aggregator
Add Size method to bytes-to-fixed aggregator
Add Size method to fixed-to-bytes aggregator
Add Size method to fixed-to-fixed aggregator
Add Size method to median executor
Add Size method to result structures
Add Size method to AggFuncExec interface
Add Size method to window executor
Add memory tracking and spill triggering logic
Create new spiller infrastructure for disk operations
Add spiller fields and initialization to container