Uh oh!
There was an error while loading. Please reload this page.
fix: correct UUIDType partition representation for BucketTransform - #2003
fix: correct UUIDType partition representation for BucketTransform#2003dingo4dev wants to merge 3 commits into
UUIDType partition representation for BucketTransform#2003Conversation
Fokko
left a comment
There was a problem hiding this comment.
@dingo4dev Thanks for working on this!
It would be good to throw in a test as well. It can be a simple test in test_writes.py where you write to a bucket UUID table. It also looks like there linter is not happy, could you run make lint as well?
Fokko
commented
May 16, 2025
@dingo4dev Again, thanks for working on this. As part of this review, I dug a bit deeper into the issues, and it looks like we're missing the Parquet LogicalTypeAnnotation (apache/arrow#46469) which causes interoperability issues with other readers. |
dingo4dev
commented
May 16, 2025
@Fokko Thank you for taking the time to review. I appreciate your thoughtful feedback and the effort you put into this. To fully support the UUID type, it looks like we'll need to wait for a new Arrow release (> 20.0.0). In the meantime, I’ll continue working on the test cases for my commits. |
Fokko
commented
May 16, 2025
@dingo4dev Yes, please do. My biggest concern is that we produce Parquet files that will not be supported by other implementations because of the missing logical annotation. Arrow releases pretty often, so it can be resolved within reasonable timespan. |
Fokko
commented
May 16, 2025
@dingo4dev Good news, it looks like this is fixed in the next release of Arrow: apache/arrow#45866 |
dingo4dev
commented
May 17, 2025
@Fokko TBR, After running the test case, I found that the identity transform of uuid is not supported for writing, because the value is bytes. So I tried rewrite the Avro writer and other related components.
data/uuid_bucket=0/uuid_identity=ec9b663b-062f-4200-a130-8de19c21b800
|- xxxxx.parquet
data/uuid_bucket=1/uuid_identity=5f473c64-dbeb-449b-bdfa-b6b4185b1bde
|- xxxxx.parquetNot sure is that correct and compatible with other integration as I haven't tried partition the uuid with identity before in other projects. |
dingo4dev
commented
May 17, 2025
They also noticed that kind of problem in (apache/iceberg#13087) |
253c559 to
a83c87eComparedingo4dev
commented
Jun 7, 2025
Squash commits and update testcases for uuid writer |
Fokko
commented
Jun 16, 2025
BTW, I found the issue on the Java side: apache/iceberg#13324 |
Closing this PR as the issue it addresses has been resolved and changed in another #2002 |
Rationale for this change
Resolves#2002
Are these changes tested?
Tested Locally. Should add testcases for this later
Are there any user-facing changes?