我的团队正在使用bigquery进行产品开发。在一天的交易中产生了5159卢比的其他账单。
我检查了交易明细和
BigQuery分析:15.912兆字节[汇率转换:使用汇率69.155将USD转换为INR]
是否有可能以某种方式找到有关事务的更多详细信息,例如表名,已执行的查询以及确切的执行时间?
答案 0 :(得分:1)
BigQuery自动将审核日志发送到Stackdriver Logging,并提供对日志数据进行汇总分析的功能。您可以查看BigQuery schema for exported logs了解详情
快速示例:按身份查询费用明细
该查询按用户身份显示估计的查询成本。它根据美国按需查询的定价估算成本。对于其他地区或利用固定费用计费的客户,此定价可能不准确。
#standardSQL
WITH data as
(
SELECT
protopayload_auditlog.authenticationInfo.principalEmail as principalEmail,
protopayload_auditlog.servicedata_v1_bigquery.jobCompletedEvent AS jobCompletedEvent
FROM
`MYPROJECTID.MYDATASETID.cloudaudit_googleapis_com_data_access_YYYYMMDD`
)
SELECT
principalEmail,
FORMAT('%9.2f',5.0 * (SUM(jobCompletedEvent.job.jobStatistics.totalBilledBytes)/POWER(2, 40))) AS Estimated_USD_Cost
FROM
data
WHERE
jobCompletedEvent.eventName = 'query_job_completed'
GROUP BY principalEmail
ORDER BY Estimated_USD_Cost DESC
答案 1 :(得分:1)
您需要将结算数据导出到BigQuery
用于监视,分析和优化成本的工具已成为管理开发的重要组成部分。导出到BigQuery的结算信息使您可以全天自动将每日使用情况和费用估算导出到
但是,如果您使用常规文件导出,则应注意,常规文件导出捕获的数据集比导出到BigQuery的数据集小。有关常规文件导出及其捕获的数据的更多信息,请参阅将计费数据导出到文件。
启用BigQuery导出后,可能要花几个小时才能开始查看您的数据。结算数据会定期自动将数据导出到BigQuery,但是BigQuery中的更新频率会根据您使用的服务而有所不同。请注意,BigQuery加载符合ACID,因此,如果在将BigQuery计费导出数据集加载到其中时查询它,则不会遇到部分加载的数据。
请按照分步指南进行操作:如何启用将帐单导出到BigQuery https://cloud.google.com/billing/docs/how-to/export-data-bigquery
答案 2 :(得分:0)
从去年开始,BigQuery提供了INFORMATION_SCHEMA
个表格,这些表格还可以通过JOBS_BY_*
视图访问工作信息。 INFORMATION_SCHEMA.JOBS_BY_USER
和INFORMATION_SCHEMA.JOBS_BY_PROJECT
视图甚至在已处理的字节旁边包括确切的查询。可能不是100%准确(因为已处理字节!=已计费字节),但它应该使您能够很好地了解自己的费用,这些查询使他们知道了发起者是谁。
示例
SELECT
creation_time,
job_id,
project_id,
user_email,
total_bytes_processed,
query
FROM
`region-us`.INFORMATION_SCHEMA.JOBS_BY_USER
关注成本的最“有效”方法是使用INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
视图,因为它自动包括组织的所有项目。不过,您必须是组织所有者或组织管理员才能使用该视图。
从那里您可以找出哪些工作是最昂贵的(=获取其工作ID),然后通过JOBS_BY_PROJECT
向下钻取以获得确切的查询。
有关更全面的说明,请参见https://www.pascallandau.com/bigquery-snippets/monitor-query-costs/。