Skip to content

Site: Add blog post introducing the Variant type - #17537

Open
nssalian wants to merge 3 commits into
apache:mainfrom
nssalian:blog-variant-type-intro
Open

Site: Add blog post introducing the Variant type#17537
nssalian wants to merge 3 commits into
apache:mainfrom
nssalian:blog-variant-type-intro

Conversation

@nssalian

@nssalian nssalian commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Intro blog post on the Variant type in Apache Iceberg: what it is, why it exists, how it's stored, and how to use it from Spark SQL. First in a series; shredding is the follow-up. Put 08/10/2026 as the date to give time for reviews can adjust as needed.

Here's how it renders with mkdocs locally:
Screenshot 2026-08-05 at 10 51 34 PM

@github-actions github-actions Bot added the docs label Aug 6, 2026
@nssalian
nssalian marked this pull request as ready for review August 6, 2026 16:02
@nssalian

nssalian commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator Author

The PR check re-ran and failed while Github was having issues. A re-run should fix it.

@Guosmilesmile Guosmilesmile left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall, LGTM. I've left a few minor comments. Thanks for providing the blog!

Comment thread site/docs/blog/posts/2026-08-10-variant-in-apache-iceberg.md Outdated
Comment thread site/docs/blog/posts/2026-08-10-variant-in-apache-iceberg.md Outdated

Binary encodings such as BSON store values in binary form, but they still repeat every field name (`"timestamp"`, `"user"`, `"event"`) in every row.

Variant is as flexible as JSON but stores data in a compact, typed binary form. Values keep their native types: a timestamp stays a timestamp and a decimal keeps its precision, instead of collapsing to JSON's strings and numbers. Field names are stored once in binary, so there is none of the per-row string overhead of JSON or BSON. No schema is declared up front, so documents of different shapes coexist in one column and a new field needs no migration.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No schema is declared up front -> No schema is declared up front for the contents of the Variant column ?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems redundant to me, I'm ok with it how it is.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants