BigQuery supports de-duplication for streaming insert. How can I use this feature using Apache Beam?
https://cloud.google.com/bigquery/streaming-data-into-bigquery#d
As Felipe mentioned in the comment, it seems that Dataflow is already using insertId for itself to implement "exactly once". so we can not manually specify insertId.