A telemetry service pushes rows into BigQuery through the streaming API. After a client library retry, some events appear twice in the destination table. Which field in the streaming request helps BigQuery suppress such repeats on a best-effort basis?
Show answer and explanation
Answer: C
Each row sent through the BigQuery streaming API can carry an insertId string. When BigQuery receives another row with the same insertId within a short window of roughly one minute, it can discard the duplicate. This protection is best-effort rather than guaranteed, so retries can still occasionally leave duplicates. When exact uniqueness matters, the usual follow-up is a MERGE or a query that keeps one row per key after ingestion. Clustering and materialized views affect storage layout and query performance, not duplicate detection.
Why the other options are wrong
- A. Clustering organizes storage blocks to speed up filtered reads, but it does not inspect incoming rows for repeats, so retries would still create duplicates.
- B. Partition expiration deletes old partitions after a set age. It has no role in detecting duplicate rows during ingestion.
- D. Materialized views precompute query results for faster reads. They do not stop the base table from receiving duplicate inserts.