🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.0-alpha.6 (02.09.2026)(02.09.2026 um 13:29 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.0 (03.09.2026)(03.09.2026 um 03:39 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.154.0-alpha.1 (03.09.2026)(03.09.2026 um 11:33 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.1 (03.09.2026)(03.09.2026 um 23:05 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.154.0-alpha.2 (04.09.2026)(04.09.2026 um 00:01 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.2 (04.09.2026)(04.09.2026 um 01:54 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.154.0-alpha.3 (04.09.2026)(04.09.2026 um 03:01 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.3 (04.09.2026)(04.09.2026 um 21:02 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.4 (05.09.2026)(05.09.2026 um 01:27 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.154.0-alpha.4 (05.09.2026)(05.09.2026 um 02:59 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.0-alpha.6 (02.09.2026)(02.09.2026 um 13:29 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.0 (03.09.2026)(03.09.2026 um 03:39 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.154.0-alpha.1 (03.09.2026)(03.09.2026 um 11:33 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.1 (03.09.2026)(03.09.2026 um 23:05 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.154.0-alpha.2 (04.09.2026)(04.09.2026 um 00:01 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.2 (04.09.2026)(04.09.2026 um 01:54 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.154.0-alpha.3 (04.09.2026)(04.09.2026 um 03:01 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.3 (04.09.2026)(04.09.2026 um 21:02 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.153.4 (05.09.2026)(05.09.2026 um 01:27 Uhr)
🔧 AI Nachrichten GitHub Release: openai/codex vrust-v0.154.0-alpha.4 (05.09.2026)(05.09.2026 um 02:59 Uhr)

26 🕛 kürzlich 7 Min Lesezeit
0

Hidden Partitioning: How Iceberg Eliminates Accidental Full Table Scans

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

This is Part 5 of a 15-part covered partition evolution. This article covers hidden partitioning, the feature that ensures users never need to know how their data is physically organized.



The most expensive mistake in data lake querying is the accidental full table scan: a query that reads every file because the user did not correctly reference the partition columns. In Hive, this happens constantly. In Iceberg, it is structurally impossible because users never reference partition columns at all.






Table of Contents













  1. In Hive, a table partitioned by year, month, and day requires queries to filter on those exact columns:




    CODE
    -- Hive: This prunes correctly
    SELECT * FROM orders WHERE year = 2024 AND month = 3 AND day = 15

    -- Hive: This scans EVERYTHING (no pruning)
    SELECT * FROM orders WHERE order_date = '2024-03-15'






    The second query reads every partition because Hive does not know that order_date maps to the year, month, and day partition columns. There is no error, no warning. The query simply runs 100x slower than it should.



    This happens because Hive partitioning is "exposed." The physical partition columns (year, month, day) are separate from the source column (order_date). Users must understand this mapping and construct their filters accordingly.






    How Iceberg Hides Partitioning



    Iceberg flips this model. Users filter on the source column (order_date), and the engine automatically maps the filter to the partition values using



    Iceberg defines six



    The temporal transforms are hierarchical. If a table is partitioned by day(ts) and a user filters WHERE ts >= '2024-03-01' AND ts < '2024-04-01', the engine recognizes this as a range of days and prunes to only the 31 matching partitions. Engines like



    truncate(N, col) takes the first N characters of a string (or truncates a number to a width). This is useful when you want to group data by a string prefix without creating one partition per unique value.



    bucket(N, col) applies a hash function and mod N to produce a bucket number from 0 to N-1. This distributes data evenly across a fixed number of buckets, regardless of the column's value distribution. It is the go-to transform for high-cardinality columns like user_id or order_id where identity partitioning would create millions of tiny partitions.






    The Identity Transform



    The identity transform (identity(col)) uses the raw column value as the partition value. This is equivalent to Hive-style partitioning, but the column is still "hidden" because the engine handles the mapping. It is useful for low-cardinality columns like region or status where each unique value should be its own partition.






    How Pruning Works Under the Hood



    , but now the partition values were derived automatically from the user's filter on a source column.






    Choosing the Right Transform



    The choice of partition transform depends on data volume and query patterns:



    supports all Iceberg transform functions and automatically applies pruning for any combination of partition columns in the query's WHERE clause.






    Why This Matters for Teams



    Hidden partitioning changes the operational model for data teams:



    Data engineers define the partition strategy once in the table's partition spec. They can change it later through .



    The net result: no accidental full table scans, no partition-aware query patterns required from users, and the ability to change the physical layout without impacting any downstream consumer. by Alex Merced (Manning)



  2. by Alex Merced


  3. by Alex Merced






  4. Free Resources



    Vollständiger Original-Bericht
    Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
    ↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 58%
🟡 In Evaluierung 20%
🟢 Keine Auswirkung 11%
Spannende Innovation 11%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
15 Quellen
GitHub Release: openai/codex vrust-v0.153.0-alpha.6 (02.09.2026)
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Hidden Partitioning: How Iceberg Eliminates Accidental Full Table Scans

Thematisch verwandte Begriffe: Hidden, Partitioning, Iceberg, Eliminates · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...