---
name: "apache-iceberg-hidden-partitioning"
description: "Manage high-performance open table formats with hidden partitioning and schema evolution."
metadata:
  author: "Apache Software Foundation"
  version: "1.0.0"
  runtime_compatibility:
    - "codex"
    - "claude-code"
    - "cursor"
    - "windsurf"
triggers:
  - "create iceberg table"
  - "configure iceberg hidden partitioning"
  - "evolve iceberg schema"
permissions:
  fs_read: true
  fs_write: "workspace"
  shell_exec: false
  net_access: false
---

# Apache Iceberg Hidden Partitioning & Metadata Evolution

Configures Apache Iceberg tables: designing hidden partition transforms (days, bucket, truncate), full schema evolution without table rewrites, snapshot isolation, and integrating with Spark/Trino/Flink.

## When to Invoke
Invoke this skill whenever you need to:
- create iceberg table
- configure iceberg hidden partitioning
- evolve iceberg schema

## Execution SOP & Rules
1. Create table: CREATE TABLE iceberg_db.events (id BIGINT, event_time TIMESTAMP) USING iceberg PARTITIONED BY (days(event_time)).
2. Execute schema evolution: ALTER TABLE iceberg_db.events ADD COLUMN user_agent STRING;.
3. Inspect table metadata log files and data manifests stored under the metadata/ folder.
4. Rollback table state: CALL iceberg_db.system.rollback_to_snapshot('events', 123456789012345).

## Verification Checklist
- Run local linting, syntax validation, and type-checks before reporting completion.
- Ensure all created or modified files adhere to workspace boundaries and avoid uncommitted secrets.
- Verify tests or build commands exit cleanly with return code 0.
