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

Aperta
#41,212 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@paragpratim ci sta già lavorando.

Dal 11/11/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

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
Lingua principale
Java
Stelle
8.7k
Fork
4.8k
Merge medio
2g 12h
PR unite (30g)
371

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/beam

Tutte le issue di apache/beam

Issue simili

Altre issue su Java

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.