Spark: Add read/write support for UUIDs from bytes
- Dominant language
- Java
- Stars
- 9.2k
- Forks
- 3.5k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 132
Description
### Apache Iceberg version
1.5.2 (latest release)
### Query engine
Spark
### Please describe the bug 🐞
I can insert a string column to an iceberg UUID column thanks to https://github.com/apache/iceberg/pull/7399
```python
df = df.withColumn("id", lit(str(uuid.uuid4())))
```
but I can't insert a byte column to an iceberg UUID column
```python
df = df.withColumn("id", lit(uuid.uuid4().bytes))
```
thanks all
Contributor guide
Research direction
Start with the Spark integration path for Iceberg UUID columns and reproduce the difference between the string and bytes examples in the issue. Trace how each input is converted during insertion, then add byte-column coverage and verify that UUID byte values can be written successfully without breaking the existing string behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, spark
- Domain
- data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100