-
Notifications
You must be signed in to change notification settings - Fork 45
Add Variant, Geometry, Geography types to implementation status page #123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| | INTERVAL | ✅ | ✅ (1) | ✅ | ✅ | ❌ | ✅ | ✅ | | ||
| | JSON | ✅ | ✅ (1) | ✅ | ✅ (1) | ❌ | ✅ | ✅ | | ||
| | BSON | ❌ | ✅ (1) | ✅ | ✅ (1) | ❌ | ❌ | ❌ | | ||
| | [VARIANT] | | | | | | | | |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 😄
There was a problem hiding this comment.
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>
|
Thank you for the review @severo 🙏 |
wgtmac
left a comment
There was a problem hiding this 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?
|
cc @platypii for hyparquet too |
|
hyparquet js:
|
|
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 😆 |
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) |
Updated in a4ec40d |
I hope we can make this better in the upcoming releases Edit: |
alamb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I also added a check mark for variant in arrow-java based on
https://github.com/apache/parquet-java/tree/master/parquet-variant/src/main/java/org/apache/parquet/variant
I also looked arounda and think arrow-go is still working on geometry:
- https://github.com/search?q=repo%3Aapache%2Farrow-go+geometry
- https://github.com/search?q=repo%3Aapache%2Farrow-go+geography
Likewise CUDF does not seem to support geo:
- https://github.com/search?q=repo%3Arapidsai%2Fcudf+geography
- https://github.com/search?q=repo%3Arapidsai%2Fcudf+geometry
Or variant
| | TIMESTAMP (INT64) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | ||
| | INTERVAL | ✅ | ✅ (1) | ✅ | ✅ | ❌ | ✅ | ✅ | | ||
| | JSON | ✅ | ✅ (1) | ✅ | ✅ (1) | ❌ | ✅ | ✅ | | ||
| | BSON | ❌ | ✅ (1) | ✅ | ✅ (1) | ❌ | ❌ | ❌ | |
There was a problem hiding this comment.
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:
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;
|
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 |
|
Thanks again @severo |

Rationale
Three new logical types have been added to the Parquet specification. Let's ensure they are listed in the implementation status matrix
Changes:
Here is a preview:
