sql - 保持在 Google BigQuery SQL 查询配额内的通用方法
问题描述
这是我针对公共数据集运行的 SQL 查询:
SELECT
package,
COUNT(*) count
FROM (
SELECT
REGEXP_EXTRACT(line, '(.*)') package,
id
FROM (
SELECT
SPLIT(content, '\n') line,
id
FROM
[bigquery-public-data:github_repos.contents]
WHERE
sample_path LIKE '%.bashrc' OR sample_path LIKE '%.bash_profile')
GROUP BY
package,
id )
GROUP BY
1
ORDER BY
count DESC
LIMIT
400;
这是错误消息:
错误:超出配额:您的项目超出了扫描的免费查询字节的配额。有关详细信息,请参阅 https://cloud.google.com/bigquery/troubleshooting-errors
bigquery-public-data:github_repos.contents
对我的配额来说太大了。
bigquery-public-data:github_repos.sample_contents
对于我正在分析的内容来说太小了。
有没有办法指定查询可以使用多少配额?例如,如果我有 1TB 的配额,有没有办法运行这个查询github_repos.contents
(这将消耗 2.15TB),但在消耗 1TB 后停止处理?
解决方案
您可以使用自定义成本控制。这可以在项目级别或用户设置。用户可以是服务帐户。让不同的服务帐户运行每个查询,您可以“指定查询可以使用多少配额”。
推荐阅读
- bash - 涉及环境路径时的命令替换
- python - 如何在显示文本和显示“*”之间进行 tkinter 条目切换
- html - 如何使用网页的全高
- html - 用于抓取 WSJ 和 Yahoo Finance 的 Google App 脚本
- php - base64_encode - 主机服务器升级后本地与主机上的结果不同
- sql - 带部门的案例陈述
- command-line-interface - Serena 命令行,获取 item-spec
- html - 将文件导入网页 [SELENIUM]
- javascript - 传递给组件时打字稿混乱
- python - 在 Python 中使用 tricontourf 的最佳方法