Repository navigation
Managed Iceberg AddFiles - #40827
Managed Iceberg AddFiles#40827
Conversation
There was a problem hiding this comment.
📋 Review Summary
This PR exposes IcebergAddFiles (beam:schematransform:org.apache.beam:iceberg_add_files:v1) as a Managed IO sink (ICEBERG_ADD_FILES) in both the Java and Python SDKs, standardizes its SchemaTransform URN in external_transforms.proto, and adds SchemaTransformPayloadTranslator support along with unit tests.
🔍 General Feedback
- The changes cleanly follow the established patterns for Managed IO transforms across proto definitions, Java/Python
ManagedAPIs,IcebergSchemaTransformTranslation, Beam YAMLstandard_io.yaml, and expansion service configuration. - Unit tests in
IcebergSchemaTransformTranslationTestthoroughly cover row reconstruction and proto translation forAddFilesSchemaTransformProvider.
💡 Tip: Comment /gemini review on this pull request to trigger a new Gemini code review.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #40827 +/- ##
===========================================
+ Coverage 0 79.91% +79.91%
===========================================
Files 0 493 +493
Lines 0 83480 +83480
===========================================
+ Hits 0 66714 +66714
- Misses 0 16766 +16766
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Assigning reviewers: R: @derrickaw for label yaml. This pull request likely touches a core component ("core" label). Please review with scrutiny. Note: If you would like to opt out of this review, comment Available commands:
The PR bot will only process comments in the main thread (not review comments). |
chamikaramj
left a comment
There was a problem hiding this comment.
Thanks.
Can we also update AddFiles java documentation and may be examples to use the Managed version ?
| type: beamJar | ||
| transforms: | ||
| 'IcebergAddFiles': 'beam:schematransform:iceberg_add_files:v1' | ||
| 'IcebergAddFiles': 'beam:schematransform:org.apache.beam:iceberg_add_files:v1' |
There was a problem hiding this comment.
I think to actually use managed here you have to do one of the following.
(1) Add this to YAML I/O and use managed.py there:
beam/sdks/python/apache_beam/yaml/yaml_io.py
Line 569 in b9a783a
(2) Use the managed_replacement feature similar to Kafka:
Latter might be easier.
There was a problem hiding this comment.
Sounds good, went with the managed_replacement
Making Iceberg AddFiles into a Managed transform to take advantage of automatic upgrades
Changing the URN to the standardized format:
beam:schematransform:org.apache.beam:iceberg_add_files:v1Shouldn't result in any breaking changes