apache / apache/arrow-rs

Add `id()` as a public function on `Field`

Open
#9,469 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
3.6k
Forks
1.3k
Avg merge
2d 18h
Merged PRs (30d)
169

Description

**Is your feature request related to a problem or challenge? Please describe what you are trying to do.**

Today, arrow-rs supports Parquet field-IDs via a heuristic based on a special key (`PARQUET:field_id`) in the field metadata. Instead, I would suggest bumping it to a method on Field itself.

**Describe the solution you'd like**

Add `field_id` as a function to `Field`.

**Describe alternatives you've considered**

Keep it as is today.

**Additional context**

Apache Iceberg heavily relies on field-IDs, and having to do `field.metadata().get(PARQUET_FIELD_ID_META_KEY)?` in the code itself feels odd. I think this should be part of Arrow itself.

Contributor guide

Open the contributing guide

Research direction

Locate the Rust Field type and the existing PARQUET:field_id metadata lookup. Compare the requested public id() or field_id function with current callers, then verify that field IDs remain accessible without direct metadata access and run the relevant existing tests for Field and Parquet integration.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
data
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.