Hello Ahmed,
Thanks for the information this helps a lot.

On Thu, 22 Feb 2024 at 9:09 PM, Ahmed Abualsaud via dev <dev@beam.apache.org>
wrote:

> Hey Taher,
>
> Regarding the first question about what API Beam uses, that depends on the
> BigQuery method you set in the connector's configuration. We have 4
> different write methods, and a high-level description of each can be found
> in the documentation:
> https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.Write.Method.html.
> At this point in time, we discourage using the streaming inserts API and
> recommend file loads or Storage Write API instead.
>
> For the second question, yes there is a chance you can hit the maximum
> quota. When this happens, Beam will just wait a little then retry the write
> operation. FYI the Storage Write API quota [1] limits to 3gb/s per project,
> compared to streaming insert's 1gb/s [2].
>
> [1] https://cloud.google.com/bigquery/quotas#write-api-limits
> [2] https://cloud.google.com/bigquery/quotas#streaming_inserts
>
> On Thu, Feb 22, 2024 at 8:57 AM Taher Koitawala <taher...@gmail.com>
> wrote:
>
>> Hi All,
>>           I want to ask questions regarding sinking a very high volume
>> stream to Bigquery.
>>
>> I will read messages from a Pubsub topic and write to Bigquery. In this
>> steaming job i am worried about hitting the bigquery streaming inserts
>> limit of 1gb per second on streaming Api writes
>>
>> I am firstly unsure if Beam uses that Api or uses a temp directory to
>> write files and commits on intervals which brings me to another question do
>> i have to do windowing to save myself from hitting the 1gb per second
>> limit?
>>
>> Please advise. Thanks
>>
>

Reply via email to