Repository navigation
Addfiles wiring provider - #40150
Addfiles wiring provider#40150
Conversation
AddFiles gets a ninth constructor argument, SchemaEvolutionConfig
With options set, the topology becomes
paths -> ReadFooterSchema -> CollectDistinctSchemas -> CommitSchemaOnce
|
paths -> Wait.on(signal) -> ConvertToDataFile -> ... (unchanged)
so no path reaches ConvertToDataFile until the schema commit has
landed.
… incompatible_schema_handling, unverifiable_file_handling
Exposes the pre-pass through the iceberg_add_files SchemaTransform and
Beam YAML:
- type: WriteToIceberg (transform: IcebergAddFiles in YAML)
config:
table: db.sales
schema_evolution_options: [ALLOW_FIELD_ADDITION, ALLOW_TYPE_PROMOTION]
required_columns: [id]
incompatible_schema_handling: ROUTE_TO_ERRORS
ahmedabu98
left a comment
There was a problem hiding this comment.
SchemaFieldDescriptions will be public facing on https://beam.apache.org/documentation/io/managed-io/ so would be worth doing a pass on them to make it more human-readable
Besides that this LGTM!
|
Assigning reviewers: R: @damccorm for label python. 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). |
|
R: @ahmedabu98 |
|
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control. If you'd like to restart, comment |
* AddFiles: wire the schema pre-pass behind a Wait.on gate (batch)
AddFiles gets a ninth constructor argument, SchemaEvolutionConfig
With options set, the topology becomes
paths -> ReadFooterSchema -> CollectDistinctSchemas -> CommitSchemaOnce
|
paths -> Wait.on(signal) -> ConvertToDataFile -> ... (unchanged)
so no path reaches ConvertToDataFile until the schema commit has
landed.
* IcebergAddFiles provider: schema_evolution_options, required_columns, incompatible_schema_handling, unverifiable_file_handling
Exposes the pre-pass through the iceberg_add_files SchemaTransform and
Beam YAML:
- type: WriteToIceberg (transform: IcebergAddFiles in YAML)
config:
table: db.sales
schema_evolution_options: [ALLOW_FIELD_ADDITION, ALLOW_TYPE_PROMOTION]
required_columns: [id]
incompatible_schema_handling: ROUTE_TO_ERRORS
* trigger tests
* simplify arg
* tests
* fixes
* changes
* comments, refresh only once per bundle
Please add a meaningful description for your change here
Part of #40144
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:
addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, commentfixes #<ISSUE NUMBER>instead.CHANGES.mdwith noteworthy changes.See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)
See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.