Bigquery如何使用自动生成的序列号



我需要像Oracle中的序列一样,在表中生成一个自动递增的数字。我尝试了ROW_NUMBER((和GENERATE_UUID((,GENERATE_array((,但没有帮助。

我们的表将是每日加载的,列值应该具有自动增量。我们谈论的表格数据将是数百万。有人能帮忙吗?

谨致问候,古鲁

BigQuery不像大多数OLTP供应商(例如oracle、sql(那样具有自动递增序列号。我建议简单地将您的业务密钥(例如SHA1(concat(key1,key2,etc((散列为MyKey(来创建PK并保持原样。

如果你对一个自动递增的整数一筹莫展,那么你需要构建一个传递两个值的函数:

  1. ID(目标表中的当前最大ID(
  2. Rowcount(源表中的行数(

然后,函数可以返回一个递增ID的列表,您需要在插入之前或插入期间添加源。

这是我对如何做到这一点的最佳猜测

最新更新