gpt4 book ai didi

sql - 在 BigQuery 中随机抽样替换的最有效方法是什么?

转载 作者:行者123 更新时间:2023-12-02 02:59:01 26 4
gpt4 key购买 nike

question 的答案解释了如何从 BigQuery 表中随机抽样。有没有一种有效的方法可以通过替换来做到这一点?

举个例子,假设我有一个包含 1M 行的表,我希望选择 100K 个独立随机采样的行。

最佳答案

找到了一个巧妙的解决方案:

  • 索引表的行
  • 生成一个包含 100K 个介于 1 到 1M 之间的随机整数的虚拟表
  • 在索引 = 随机值上内联表

代码:

# randomly sample 100K rows from `table` with replacement
with large_table as (select *, row_number() over() as rk from `table`),
num_elements as (select count(1) as n from large_table),
dummy_table as (select 1 + cast(rand() * (select n - 1 from num_elements) as int64) as i from unnest(generate_array(1, 100000)))
select * from dummy_table
inner join large_table on dummy_table.i = large_table.rk

关于sql - 在 BigQuery 中随机抽样替换的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60422858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com