Skip to content

[FeatureRequest] Statistics: Average column width for dynamically-sized types #8274

Closed as not planned

Description

@julweise

Hey everyone,

we are currently looking into improving query plans based on available column statistics. Iceberg already supports a number of statistics like null_value or lower_bounds/upper_bounds in data_file struct 1. However, Iceberg spec currently does not support statistics for the average column width (for dynamically sized types like string or binary) in-memory.

We are aware that column_sizes exists but the corresponding map lists the size of columns occupying on disk only. Unfortunately, it is not possible to infer the logical size / in-memory size reliably given the storage size because data files (e.g. Apache Parquet) apply compressing encodings like run-length or dictionary as well as data file compression (e.g. snappy). Hence, we advocate for a new statistics to cover logical / in-memory average width of columns.

Preferably, the addition to the existing Iceberg spec happens as a optional parameter (first) to move quickly and let writer implement the change subsequently. An open PR on Apache Parquet 2 already accommodates this feature request perfectly by adding SizeEstimationStatistics to Parquet's statistics.

Any feedback would be greatly appreciated.

Activity

  1. singhpk234 commented on Aug 9, 2023

    @singhpk234
    Contributor
  2. Samrose-Ahmed commented on Nov 20, 2023

    @Samrose-Ahmed

    We would also be interested in this. For reference, The corresponding Parquet PR (apache/parquet-format#197) has now been merged.

  3. github-actions commented on Sep 13, 2024

    @github-actions

    This issue has been automatically marked as stale because it has been open for 180 days with no activity. It will be closed in next 14 days if no further activity occurs. To permanently prevent this issue from being considered stale, add the label 'not-stale', but commenting on the issue is preferred when possible.

  4. github-actions commented on Oct 4, 2024

    @github-actions

    This issue has been closed because it has not received any activity in the last 14 days since being marked as 'stale'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions