了解 GCP Dataproc 计费及其如何受标签影响

Understanding GCP Dataproc billing and how it is affected by labels

我正在努力确保清楚了解我的组织如何为 Google Cloud Platform Dataproc 计费。

我们已将账单历史记录导出到 BigQuery 以便我们对其进行分析。今天早上我们有两个 dataproc 集群 运行,下面的屏幕截图显示了这两个集群的一部分账单历史记录。我过滤了 labels.key = "goog-dataproc-cluster-uuid" or labels.key = "goog-dataproc-cluster-name" or labels.key = "goog-dataproc-location"。这是结果的一个子集

我在两种 sku 的成本周围画了方框。让我们来看看 EMEA 项中的 标准英特尔 N1 16 VCPU 运行。

我只有两个集群,而这两个集群中的每一个都有三行。原因是每个 dataproc 集群应用了三个标签,因此成本 1.271852 & 3.815556 各出现三次。

那么我的简单问题是...如何获得我的 dataproc 集群的总成本?我是将所有这些数字相加(这意味着总成本在所有标签上平均分配)还是只取其中一个值(意味着每个标签重复成本)?


这是表达我的问题的另一种方式。此查询是否给出 运行 集群 data-dev-dataplatform-dataproc 一天的总成本:

SELECT  sum(cost)
FROM [dh-billing-179310:billing.gcp_billing_export_XXXXXXXX] 
WHERE labels.key = "goog-dataproc-cluster-name"
  and labels.value = "data-dev-dataplatform-dataproc" 
  and usage_start_time >= "2018-07-05 00:00:00"
  and usage_end_time <= "2018-07-06 00:00:00"

或者我是否需要包含其他标签才能获得总费用?

在计费导出数据的平面视图中,每个标签都重复了成本;您应该为任何特定计算选择一个标签值。如果您要计算 Dataproc 总数,使用 Dataproc 插入的 "goog-dataproc-*" 标签之一可能最方便。

这里的想法是,您可以使用不同的标签集来轻松组织归因于任何给定子项目的与 Dataproc 相关的总成本,这样您就可以根据不同的维度过滤您的结算查询。