gpt4 book ai didi

google-bigquery - RAND() 在 BigQuery 中如何工作?

转载 作者:行者123 更新时间:2023-12-04 23:15:57 26 4
gpt4 key购买 nike

我正在尝试在 BigQuery 中找到最佳抽样实践。我的数据集很大(11B 行),但分布往往是倾斜的。到目前为止,我一直在探索这两个选项:

  • HASHING - 我使用某个值的散列来选择样本。这是非常简单的方法,其背后的机制很清楚。
    我的问题是关于第二个选项:
  • 使用 RAND() 函数。我通过查看此处的 BigQuery 引用了解如何使用它:
    https://cloud.google.com/bigquery/docs/reference/legacy-sql#rand
    但是,我不知道这个功能究竟是如何工作的。

  • 任何人都可以对那里发生的背景事情有更多的了解吗?

    非常感谢,
    画廊

    最佳答案

    我的回答将适用于 BigQuery Standard SQL 。 RAND() 函数在 [0, 1) 范围内生成 FLOAT64 类型的伪随机值,包括 0 和不包括 1。您使用它进行采样的方式类似于您使用 FARM_FINGERPRINT 函数的方式,但是您不需要指定任何现有的 key 。 RAND() 提供均匀分布,因此如果某些列有偏斜,则样本中会出现相同的偏斜。对表中 10% 的数据进行抽样的示例:

    SELECT * FROM Table WHERE RAND() < 0.1

    关于google-bigquery - RAND() 在 BigQuery 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42115968/

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