Skip to content

HIVE-29699: Iceberg: Add support for the Unknown data type#6588

Draft
difin wants to merge 1 commit into
apache:masterfrom
difin:unknown_data_type
Draft

HIVE-29699: Iceberg: Add support for the Unknown data type#6588
difin wants to merge 1 commit into
apache:masterfrom
difin:unknown_data_type

Conversation

@difin

@difin difin commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

This PR adds Iceberg V3 UNKNOWN type support in Hive, following the same pattern as VARIANT: new serde/types, parser token, schema conversion, object inspectors, and wiring through DDL, semantic analysis, and vectorized execution.

Why are the changes needed?

Iceberg format version 3 introduced the unknown type for placeholder columns that only accept NULL. Hive needs explicit support for that type in its parser, serde, schema conversion, and execution paths, or Iceberg V3 tables using unknown fail on create, insert, select, and alter.

Does this PR introduce any user-facing change?

Yes.

Users can define and use the UNKNOWN type on Iceberg tables: create columns, insert NULL, select, and add columns via ALTER TABLE.

How was this patch tested?

Unit tests: TestHiveStorageHandlerColumnTypes for storage-handler column-type checks.
Q-tests: positive unknown_type.q (create, insert, select, alter, desc on v3);
negative: unknown_type_non_iceberg_table.q tests that UNKNOWN type cannot be used on native Hive tables.

@sonarqubecloud

sonarqubecloud Bot commented Jul 9, 2026

Copy link
Copy Markdown

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants