2
votes

Let's consider I have multiple jobs which are updating/loading the same table. As per the semaphore concept, if any 1 process is loading data to the table other processes will wait till the resource for that table gets free. I would like to know is there any semaphore concepts for loading data into BigQuery table using dataflow? if yes, then how to handle such scenario for BigQuery table load using dataflow?

1

1 Answers

0
votes

I don't believe that dataflow has knowledge of the table activity, they just send the requested update as a Job to bigquery.

Bigquery receives the job and then sends it to a queue of the given table. So all the "semaphore concept" is handled internally by bigquery and the given table.

So for example, imagine that in parallel you are running three queries that update a table, two of them run via dataflow and the other via script.

The three ones go to the same queue and bigquery process one by one(one after the other completed) in the order they arrived to bigquery.