gpt4 book ai didi

sql - 如何在 BigQuery Standard SQL 中进行可重复采样?

转载 作者:行者123 更新时间:2023-12-01 12:18:54 24 4
gpt4 key购买 nike

this blog一位 Google Cloud 员工解释了如何对 BigQuery 中的机器学习数据集进行可重复采样。这对于创建(和复制)数据的训练/验证/测试分区非常重要。

然而,该博客使用了 Legacy SQL,其中 Google has now deprecated赞成标准 SQL。

您将如何使用标准 SQL 重新编写如下所示的博客示例代码?

#legacySQL
SELECT
date,
airline,
departure_airport,
departure_schedule,
arrival_airport,
arrival_delay
FROM
[bigquery-samples:airline_ontime_data.flights]
WHERE
ABS(HASH(date)) % 10 < 8

最佳答案

标准 SQL 会这样重写查询:

#standardSQL
SELECT
date,
airline,
departure_airport,
departure_schedule,
arrival_airport,
arrival_delay
FROM
`bigquery-samples.airline_ontime_data.flights`
WHERE
ABS(MOD(FARM_FINGERPRINT(date), 10)) < 8

具体变化如下:
  • 将 GCP 项目与表名分开的句点(不是冒号)。
  • 反引号(不是方括号)以转义表名中的连字符。
  • MOD函数(不是 % )。
  • FARM_FINGERPRINT (不是 HASH )。这实际上是与 Legacy SQL 的 HASH 不同的散列函数。 , 其中 wasn't in fact consistent over time正如博客所暗示的那样。
  • 关于sql - 如何在 BigQuery Standard SQL 中进行可重复采样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46019624/

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