Golang:Bigquery在插入之前检查唯一键

时间:2016-01-06 17:43:55

标签: go unique google-bigquery

我正在使用golang实现google bigquery的插入。 该文件有重复项,需要每天更新。但是,重复项不应插入bigquery中。 我使用谷歌云平台和golang的一些apis。但是,我没有发现任何apis可以在插入之前检查是否唯一,或者在模式中的特定字段设置为唯一。 我正在使用包装器api并直接调用该函数。但是,该功能不会检查该字段是否唯一。请为golang建议任何bigquery apis都有唯一的密钥检查或模式的唯一密钥设置。非常感谢!我会立即更新回复。

2 个答案:

答案 0 :(得分:1)

在BigQuery中,没有任何API或函数可以专门执行给定字段的唯一性检查 您可以通过将插入内容构建为源与目标的连接并仅插入唯一的插入来满足您的要求 这可能需要您首先将数据插入“temp”表,然后在GBQ

中执行上面的连接

答案 1 :(得分:0)

检查StructSaver struct的文档。

它有一个字段InserdID,完全符合您的要求:

// If non-empty, BigQuery will use InsertID to de-duplicate insertions
// of this row on a best-effort basis.
InsertID string