BigQuery 摘要
Posted
技术标签:
【中文标题】BigQuery 摘要【英文标题】:BigQuery summary 【发布时间】:2021-03-12 01:48:37 【问题描述】:我可以在哪里/如何轻松查看每月运行了多少 BigQuery 分析查询。总体存储使用情况/随时间变化(每月)如何?
我快速浏览了“监控 > 仪表板 > Bigquery”。那是探索的最佳地点吗?它似乎只能追溯到 10 月初 - 是在发布时还是仅显示最后 X 周的数据?尝试查询计数的指标资源管理器 (Metric:bigquery.googleapis.com/job/num_in_flight) 给了我一个奇怪的未标记 y 轴,例如0 到 0.08 的范围?奇怪的是,我预计每周会运行数百个查询。
背景:随着月份的进展,最好对 BigQuery 进行高级摘要,以便为更广泛的组织和管理提供有关使用规模的想法。
【问题讨论】:
【参考方案1】:您可以通过导出 BigQuery 使用日志来跟踪计费的字节数。
设置日志导出(这是使用旧版日志查看器)
-
打开日志记录 -> 日志查看器
点击创建接收器
输入“接收器名称”
对于“接收器服务”,选择“BigQuery 数据集”
选择要监控的 BigQuery 数据集
创建接收器
Create sink
启用日志后,所有要执行的查询都会将数据使用日志存储在您在接收器中选择的 BigQuery 数据集下的“cloudaudit_googleapis_com_data_access_YYYYMMDD”表中。
Created cloudaudit_googleapis_com_* tables
Here is a sample query to get bytes used per user
#standardSQL
WITH data as
(
SELECT
protopayload_auditlog.authenticationInfo.principalEmail as principalEmail,
protopayload_auditlog.metadataJson AS metadataJson,
CAST(JSON_EXTRACT_SCALAR(protopayload_auditlog.metadataJson,
"$.jobChange.job.jobStats.queryStats.totalBilledBytes") AS INT64) AS totalBilledBytes,
FROM
`myproject_id.training_big_query.cloudaudit_googleapis_com_data_access_*`
)
SELECT
principalEmail,
SUM(totalBilledBytes) AS billed_bytes
FROM
data
WHERE
JSON_EXTRACT_SCALAR(metadataJson, "$.jobChange.job.jobConfig.type") = "QUERY"
GROUP BY principalEmail
ORDER BY billed_bytes DESC
Query results
注意事项: 您只能从设置日志导出之日开始跟踪使用情况 每天创建表“cloudaudit_googleapis_com_data_access_YYYYMMDD”以跟踪所有日志
【讨论】:
我也是用这种方式来监控BigQuery的!记录您想要的内容并对此进行分析!我赞成!【参考方案2】:我认为 Cloud Monitoring 是创建和查看指标的唯一地方。如果您对它们默认为 BigQuery 提供的内容不满意,唯一的另一种选择是创建您自己的定制购物车和仪表板以满足您的需求。您可以使用监控查询语言来实现这一点。使用 MQL,您可以实现您在问题中描述的内容。以下是更多详细信息的链接。
-
Introduction to BigQuery monitoring
Introduction to Monitoring Query Language
【讨论】:
以上是关于BigQuery 摘要的主要内容,如果未能解决你的问题,请参考以下文章
数据处理 - BigQuery 与 Data Proc+BigQuery
BigQuery:写入查询结果时使用 bigquery 作业的意外行为