iceberg-rust
iceberg-rust copied to clipboard
Arrow uint32/64 support
Is your feature request related to a problem or challenge?
iceberg::spec::Schema::try_from tries to construct an Iceberg schema from an arrow schema, but does not support converting uint types.
Describe the solution you'd like
ArrowSchemaVisitor::primitive must support uint types, currently throws Error: DataInvalid => Unsupported Arrow data type: UInt64
Willingness to contribute
None
Nice catch. But I think the iceberg spec's primitive type haven't supported this unsigned type. cc @liurenjie1024
If having any solution, I can take this ticket to be as my first PR
I would appreciate! Currently blocking for my use case
Thanks @hugokitano for raising this. Iceberg has no support for non negative data types, I think user can convert them to corresponding signed data types before writing?
Is there a reason we do not support unsigned integers?
This issue has been automatically marked as stale because it has been open for 180 days with no activity. It will be closed in next 14 days if no further activity occurs. To permanently prevent this issue from being considered stale, add the label 'not-stale', but commenting on the issue is preferred when possible.
I think this issue is still valuable to discuss.
It'd be very nice to have the spec support this, especially since parquet/arrow have native support. It's unfortunate that we're held back by the java origins of iceberg.
I think this is also missing in java implementation. We should raise a discussion in dev list.
Yeah, probably because java doesn't natively have unsigned ints 😔