apache / apache/beam

[Feature Request]: Mechanism to enable BigQuery IO to handle table schema changes while a streaming job is running

Open
#25,356 1 comment 0 reactions 1 assignee Claimed by @ragyabraham View on GitHub
io new feature P2 python
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
1d 20h
Merged PRs (30d)
196

Description

### What would you like to happen?

Currently, the BQ IO can not handle schema changes if a table schema changes during a streaming job the IO returns an error and the rows are dropped.
We propose a new mechanism that will enable BQ to handle a schema change:

1. On startup a check will be made to ensure table schemas are up to date, if not, update the current schema
2. Upon receiving a schema error, check if there are any columns in the schema supplied to the BQ IO step that is not in the existing table schema, the column(s) will be added to the table

@tomlynchRNA
@ahmedabu98

### Issue Priority

Priority: 2 (default / most feature requests should be filed as P2)

### Issue Components

- [X] Component: Python SDK
- [ ] Component: Java SDK
- [ ] Component: Go SDK
- [ ] Component: Typescript SDK
- [X] Component: IO connector
- [ ] Component: Beam examples
- [ ] Component: Beam playground
- [ ] Component: Beam katas
- [ ] Component: Website
- [ ] Component: Spark Runner
- [ ] Component: Flink Runner
- [ ] Component: Samza Runner
- [ ] Component: Twister2 Runner
- [ ] Component: Hazelcast Jet Runner
- [ ] Component: Google Cloud Dataflow Runner

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.