[Feature Request]: Support BigQuery reservation for Java BigQueryIO FILE_LOADS

Abierto
#41,212 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@paragpratim ya está trabajando en esto.

Desde el 11/11/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

io java new feature P2
What would you like to happen?

Java BigQueryIO.Write with FILE_LOADS supports withLoadJobProjectId to choose the project in which load jobs run, but it does not expose an option to specify a reservation for those jobs.

Some organizations manage reservations centrally in a separate project and want individual load jobs to specify which reservation to use, rather than relying on a PIPELINE assignment for each job project. In this setup, the Dataflow worker service account would have access to the central reservation.

I propose adding an optional reservation setting to BigQueryIO.Write, for example:

BigQueryIO.writeTableRows()
    .to("project:dataset.table")
    .withMethod(BigQueryIO.Write.Method.FILE_LOADS)
    .withLoadJobReservation(
        "projects/central-project/locations/dataset-region/reservations/load-reservation-name");

The example above is one possible API; I'm open to other suggestions. It would be useful to support deferred values for templates and apply the reservation to all load jobs, including temporary-table and schema-update loads. If no reservation is specified, the current behavior should stay the same.

I'd like to verify that BigQuery uses the specified reservation for load jobs.

References:

Issue Priority

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

Issue Components
  • Component: Python SDK
  • Component: Java SDK
  • Component: Go SDK
  • Component: Typescript SDK
  • Component: IO connector
  • Component: Beam YAML
  • Component: Beam examples
  • Component: Beam playground
  • Component: Beam katas
  • Component: Website
  • Component: Infrastructure
  • Component: Spark Runner
  • Component: Flink Runner
  • Component: Prism Runner
  • Component: Hazelcast Jet Runner
  • Component: Google Cloud Dataflow Runner
Lenguaje dominante
Java
Estrellas
8.7k
Forks
4.8k
Merge medio
2 d 12 h
PR fusionados (30 d)
371

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/beam

Todos los issues de apache/beam

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.