Replace per-catalog-type Druid classes with CatalogUtil.buildIcebergCatalog
- Dominant language
- Java
- Stars
- 14.1k
- Forks
- 3.8k
- Avg merge
- 2d 58m
- Merged PRs (30d)
- 233
Description
Collapse `LocalCatalog`, `HiveIcebergCatalog`, `GlueIcebergCatalog`, `RestIcebergCatalog`
into a single property-map-driven catalog backed by `org.apache.iceberg.CatalogUtil.buildIcebergCatalog(name, options, conf)`.
## Motivation
- Current code re-implements per-catalog setup that Iceberg already provides
- 4 hand-written classes → 1 generic class
- Gain free support for `nessie`, `jdbc`, `bigquery` and any future Iceberg catalog
- Allow custom `catalog-impl=...` for organizations with private catalogs
Contributor guide
Research direction
Start by locating LocalCatalog, HiveIcebergCatalog, GlueIcebergCatalog, and RestIcebergCatalog, then read the org.apache.iceberg.CatalogUtil.buildIcebergCatalog(name, options, conf) entry point. Done means the four per-catalog implementations are replaced by one property-map-driven catalog that supports the catalog types and custom catalog-impl described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- database
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100