suryaprasanna opened a new pull request, #17787:
URL: https://github.com/apache/hudi/pull/17787
### Describe the issue this Pull Request addresses
This PR adds support for hierarchical date partitioning, allowing users to
store date partition values in yyyy/MM/dd directory structure while specifying
them as yyyy-mm-dd format. This provides a more intuitive folder hierarchy for
date-based partitions.
### Summary and Changelog
Users can now enable hierarchical date partitioning to automatically convert
date values from `yyyy-mm-dd` format to `yyyy/MM/dd` directory structure.
**Changes:**
- Added `HIERARCHICAL_DATE_PARTITIONING` config property to enable date
path transformation
- Updated key generators (`SimpleAvroKeyGenerator`, `BuiltinKeyGenerator`)
to support hierarchical date formatting
- Modified partition path formatters to handle date hierarchy conversion
- Updated partition path parsing logic to reverse the transformation when
reading
- Added validation to prevent conflicting configuration with hive-style
partitioning
- Added test coverage in `TestSlashSeparatedPartitionValue.scala`
### Impact
**Public API Changes:**
- New config: `hoodie.datasource.write.hierarchial.date.partitionpath`
(default: `false`)
- New table config property in
`HoodieTableConfig.HIERARCHICAL_DATE_PARTITIONING`
**User-facing Changes:**
- Users can enable hierarchical date partitioning via the new config
property
- Partition directories will be created as nested folders (e.g.,
`2026/01/05` instead of `2026-01-05`)
- Cannot be used together with hive-style partitioning
### Risk Level
**Low** - Feature is opt-in via configuration flag. Existing tables are
unaffected unless explicitly enabled. Added validation to prevent
misconfiguration with hive-style partitioning.
### Documentation Update
Config documentation needs to be updated to include:
- `hoodie.datasource.write.hierarchial.date.partitionpath` configuration
property
- Usage examples showing date partition transformation
- Note about incompatibility with hive-style partitioning
### Contributor's checklist
- [ ] Read through [contributor's
guide](https://hudi.apache.org/contribute/how-to-contribute)
- [ ] Enough context is provided in the sections above
- [ ] Adequate tests were added if applicable
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]