我知道BigQuery每月免费提供第一个“1 TB数据处理”,但我无法弄清楚在我的仪表板上查看每月使用情况的位置。我以前能够“恢复”到具有信息的旧仪表板,但在过去几周内,“旧仪表板”无法访问。
答案 0 :(得分:7)
在项目的Google Cloud Console概述页面中,点击费用估算旁边右上方的“详细信息”部分:
您将获得服务中每项服务和项目当月费用的估算,包括Big Query分析:
如果您想跟踪此用途,您还可以通过进入结算设置每天将数据导出为CSV并启用使用率导出功能。不要担心它只提到计算引擎,它实际上也适用于其他服务。
您还可以点击结算帐户链接直接访问结算历史记录:
您将获得详细的帐单,其中包含使用信息:
答案 1 :(得分:2)
可能与How can I monitor incurred BigQuery billings costs (jobs completed) by table/dataset in real-time?
有关如果您可以使用BigQuery本身(而不是使用UI)来获取该信息,则可以使用以下方法:
DECLARE gb_divisor INT64 DEFAULT 1024*1024*1024;
DECLARE tb_divisor INT64 DEFAULT gb_divisor*1024;
DECLARE cost_per_tb_in_dollar INT64 DEFAULT 5;
DECLARE cost_factor FLOAT64 DEFAULT cost_per_tb_in_dollar / tb_divisor;
SELECT
ROUND(SUM(total_bytes_processed) / gb_divisor,2) as bytes_processed_in_gb,
ROUND(SUM(IF(cache_hit != true, total_bytes_processed, 0)) * cost_factor,4) as cost_in_dollar,
user_email,
FROM (
(SELECT * FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_USER)
UNION ALL
(SELECT * FROM `other-project.region-us`.INFORMATION_SCHEMA.JOBS_BY_USER)
)
WHERE
DATE(creation_time) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) and CURRENT_DATE()
GROUP BY
user_email
答案 2 :(得分:2)
Theo 是正确的,因为无法在 GCP Billing Console 中查看自月初(在免费套餐内)以来处理或计费的字节数。但是,您可以从 Cloud Logging 中的日志中提取处理的字节数和计费字节数数据,并计算自 BigQuery 内的月初以来处理/计费的总字节数。
以下是计算一个月内计费的总字节数的步骤:
resource.type="bigquery_project" AND
protoPayload.metadata.jobChange.job.jobStats.queryStats.totalBilledBytes>1 AND
timestamp>="2021-04-01T00:00:00Z"
timestamp 子句实际上不是必需的,但它会加快查询速度。您可以将 timestamp >= <value>
设置为您想要的任何有效时间戳,只要它至少返回一个结果即可。
在打开的窗口中,为您的接收器命名,点击“下一步”,然后在“选择接收器服务”下拉菜单中选择“BigQuery 数据集”。
在“选择 BigQuery 数据集”下拉菜单中,选择您要在其中创建接收器的现有数据集(这是一个包含日志的表),或者如果您愿意,可以选择“创建新的 BigQuery 数据集。
最后,您可能希望选中分区表复选框,因为这将有助于您在查询此接收器时控制成本。但是,截至本回答发布时,Google 将分区表限制为 4000 个分区,因此您可能会发现最终有必要清除旧日志。
点击“创建接收器”(不需要任何包含或排除过滤器)。
在 BigQuery 中运行产生计费字节的查询(即不返回先前缓存结果的查询)。这是实例化接收器所必需的。查询运行后,您现在应该会看到一个名为 <your_biquery_dataset>.cloudaudit_googleapis_com_data_access
在 BigQuery 查询编辑器中输入以下标准 SQL 查询:
WITH
bytes_table AS (
SELECT
JSON_VALUE(protopayload_auditlog.metadataJson,
'$.jobChange.job.jobStats.createTime') AS date_time,
JSON_VALUE(protopayload_auditlog.metadataJson,
'$.jobChange.job.jobStats.queryStats.totalBilledBytes') AS billedbytes
FROM
`<your_project><your_bigquery_dataset>.cloudaudit_googleapis_com_data_access`
WHERE
EXTRACT(MONTH
FROM
timestamp) = 4
AND EXTRACT(YEAR
FROM
timestamp) = 2021)
SELECT
(SUM(CAST(billedbytes AS INT64))/1073741824) AS total_GB
FROM
bytes_table;
您可能希望将 4
的月份设为您打算查询的任何月份,并将 2021
设为您打算查询的任何年份。此外,如果您打算定期重新运行此查询,您可能会发现将此查询另存为视图会很有帮助。
请注意,您的接收器不包含您过去的 BigQuery 日志,仅包含您创建接收器后生成的 BigQuery 日志。因此,在第一个月中,此查询返回的 GB 数不会准确计算您当月计费的字节数,除非您碰巧在当月在 BigQuery 中运行任何查询之前创建了接收器。
答案 3 :(得分:0)
GCP控制台已经过重新设计,现在这里的其他答案不再适用,但是仍然可以通过转到IAM & Admin -> Quotas查看您的使用情况。
您要查找的是“大查询API:每天的查询使用量”。不幸的是,似乎无法查看30天内的使用情况,但是您可以看到当前的使用情况(每天)和过去7天内的高峰使用情况。您还可以设置每日配额。如果您只是不经常工作或一天中要做很多事情,则可以将配额设置为1 TiB,以防止自己一天之内耗尽全部分配。
您可以尝试像我一样发送关于这些限制的反馈,方法是单击右上角的问号,然后发送反馈。