根据pricing page,将于2016年1月1日为BigQuery引入新的分层定价模型。
我们希望能够预测这对我们的应用程序可能产生的任何成本影响。因此,我们已经查看了一些更复杂查询的JSON响应,以了解什么是' tier'已被分配给它。
billingTier
层在JSON响应中清晰可见。
200 OK
- Show headers -
{
"kind": "bigquery#job",
[...]
"totalBytesProcessed": "45319172942",
"query": {
"totalBytesProcessed": "45319172942",
"totalBytesBilled": "45319454720",
"billingTier": 1,
"cacheHit": false
}
这是仅在2016年1月1日新定价模式开始之前分配的默认层(第1层),还是分配给查询的层的真实指示?
答案 0 :(得分:5)
billingTier
字段是根据我们即将推出的定价结构分配给查询的层的真实指标。如果此字段设置为1,那么您的查询将按照新定价结构下的当前(第1层)费率进行结算。
请注意,计费层是在每次调用查询时单独计算的,因此没有严格保证同一查询将始终属于同一计费层。我建议您仔细检查一下合理的查询示例,以便大致了解您的工作量在新定价结构下的位置。
答案 1 :(得分:1)
如果您感兴趣,我已编写了一个简单的脚本,如果每天运行,则会将审核数据添加到包含用户同质化查询的大查询中的表中。我们使用它来审计查询成本并确定哪些表可能需要分片。
https://gist.github.com/ericuldall/ac475fe71d0ee2f3a5f0
此脚本估计成本约为5美元/ TB的数据费用。
job_id STRING NULLABLE
用户STRING NULLABLE
size_in_gb FLOAT NULLABLE
estimated_cost FLOAT NULLABLE
sql STRING NULLABLE
时间戳TIMESTAMP可空