添加新的id列并将增量值填充到现有表中

时间:2017-02-02 15:51:21

标签: google-bigquery

我需要在我的表中添加一个id列,该列具有大约500cr行并使用增量值更新它。请建议最好的方法是什么。 我尝试运行查询来更新值并存储在新表中,但查询在超时6小时后失败。请帮忙。

2 个答案:

答案 0 :(得分:3)

row_number() over()非常昂贵!
您应该尝试row_number() over(partition by some_field)在分区之间重新分配编号 在这里,你应该选择在你的表中具有合理数量的不同值的分区字段 - 比方说1K左右 在“第一轮”之后 - 您将拥有复合键:partition_field + incremental number,您可以将其用作主键/外键,或者如果您愿意,您可以将这两者组合成一个键

答案 1 :(得分:0)

当您需要生成数字ID时,我发现此方法更有效:

RANK() OVER(ORDER BY GENERATE_UUID())