Skip to content

Conversation

@alamb
Copy link
Collaborator

@alamb alamb commented Oct 22, 2025

Rationale

Three new logical types have been added to the Parquet specification. Let's ensure they are listed in the implementation status matrix

Changes:

  1. Add entries for Variant, Geometry, Geography types
  2. Add links to relevant parts of the spec

Here is a preview:
Screenshot 2025-10-22 at 7 01 39 AM

| INTERVAL || ✅ (1) ||||||
| JSON || ✅ (1) || ✅ (1) ||||
| BSON || ✅ (1) || ✅ (1) ||||
| [VARIANT] | | | | | | | |
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

this table has three new rows for Variant, Geometry, Geography, and I moved FLOAT16 up with the rest of the numeric types, to be consistent with the list in https://github.com/apache/parquet-format/blob/master/LogicalTypes.md

Copy link
Member

Choose a reason for hiding this comment

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

arrow-go implemented variant so you can add the check mark there for it 😄

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done in 1d23cc2 (along with arrow-rs)

Co-authored-by: Sylvain Lesage <severo@rednegra.net>
@alamb
Copy link
Collaborator Author

alamb commented Oct 22, 2025

Thank you for the review @severo 🙏

Copy link
Member

@wgtmac wgtmac left a comment

Choose a reason for hiding this comment

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

Perhaps @paleolimbot @zeroshade can provide some inputs for certain impls?

@severo
Copy link
Contributor

severo commented Oct 23, 2025

cc @platypii for hyparquet too

@platypii
Copy link
Contributor

platypii commented Oct 23, 2025

hyparquet js:

  • does not (yet) support VARIANT ❌
  • does support GEOMETRY and GEOGRAPHY ✅ (edit from: (R))

@platypii
Copy link
Contributor

Update: As of today, Hyparquet now fully supports reading AND writing GEOMETRY and GEOGRAPHY types. ✅

I was peer-pressured by the parquet implementation status page 😆

@alamb
Copy link
Collaborator Author

alamb commented Oct 23, 2025

I was peer-pressured by the parquet implementation status page 😆

The plan is working!

(@julienledem and I plan to do something similar for some of the other query engines that have a reputation for not being able to read newer files)

@alamb
Copy link
Collaborator Author

alamb commented Oct 24, 2025

hyparquet js:

  • does not (yet) support VARIANT ❌
  • does support GEOMETRY and GEOGRAPHY ✅ (edit from: (R))

Updated in a4ec40d

@alamb
Copy link
Collaborator Author

alamb commented Oct 24, 2025

In arrow-rs you currently have to try pretty hard to actually get the types to be written or read but it's tested and can be done.

I hope we can make this better in the upcoming releases

Edit:

@alamb
Copy link
Collaborator Author

alamb commented Oct 24, 2025

Here is what the current matrix looks like

Screenshot 2025-10-24 at 4 44 22 PM

Copy link
Collaborator Author

@alamb alamb left a comment

Choose a reason for hiding this comment

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

| TIMESTAMP (INT64) ||||||||
| INTERVAL || ✅ (1) ||||||
| JSON || ✅ (1) || ✅ (1) ||||
| BSON || ✅ (1) || ✅ (1) ||||
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@neilechao and @aihuaxu I am working to characterize the support for Variant across readers. The arrow version says:

https://github.com/apache/arrow/blob/57f626189326251c8144d4fad89c28220c68ca75/cpp/src/parquet/arrow/variant_internal.h#L33

EXPERIMENTAL: Variant is not yet fully supported.

However, looking around at the open issues in arrow https://github.com/apache/arrow/issues?q=is%3Aissue%20%20variant

It wasn't clear to me what the current status is (should arrow have a green ✅ or an ❌ or something else?)

Some relevant PRs;

@alamb
Copy link
Collaborator Author

alamb commented Nov 2, 2025

I think this PR is an improvement over the current version on the website so will merge it in.

If there are additional checks that were missed or need to be added in the future, let's make those changes as a follow on PR

@alamb
Copy link
Collaborator Author

alamb commented Nov 2, 2025

Thanks again @severo

@alamb alamb merged commit 2f7d238 into apache:production Nov 2, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Implementation status to include Geometry/Geography types

8 participants