【问题标题】:BigQuery flex slot reservationsBigQuery 弹性槽预留
【发布时间】:2020-04-29 16:40:23
【问题描述】:

我无法理解 BigQuery 中的槽。文档有很多营销内容,至少对我来说不是很有帮助。

我特别关注的是 Flex 插槽。这是我认为到目前为止我所理解的:

如果我购买 500 个弹性插槽,我暂时不用支付任何费用。 我必须先创建一个预留才能应用这些插槽。

我的问题是:

  • 在 BQ UI 中,如果我想使用弹性槽或保持按需定价,如何定义查询时间?
  • 之后如何取消预订,以便仅按查询运行的时间计费?

我一般如何控制成本?

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:
    1. 两种定价方式之间无法不断变化。但是,有一种解决方法可能对您有用:

      事先you need to specify 组织内的哪些项目将使用插槽收费,哪些项目将使用按需计费。 然后,您可以切换到您想要查询的项目(因此这将确定用于查询的计费类型)。

      确保授予所有项目访问组织内 BigQuery 资源的权限。

    2. 我理解您的意思是如何取消承诺(bear in mind the difference between commitment and reservation)。承诺是购买 Bigquery 槽位。预订只是对承诺中购买的槽位进行划分的一种方式,因此只有特定项目或地区才能使用这些槽位(如答案 1 中所述。)

      如果您实际上是指对弹性插槽的承诺,则无法取消它们for 60 seconds after your commitment is active.。之后,您可以随时取消,它会停止向您收费。

    【讨论】:

    • 谢谢,关于此的更多问题:假设我每天晚上从凌晨 3 点到凌晨 4 点都有查询工作量。我购买了 500 个 Flex 插槽并将它们分配给执行查询的项目。其余时间槽是空闲的。我必须只为查询时间或整个月支付弹性插槽吗?我是否需要找到一种方法,以编程方式在每晚凌晨 3 点创建弹性槽承诺,将查询项目分配给它,并在工作负载后凌晨 4 点删除弹性槽承诺?
    • 如果您希望 flex 承诺保持有效,您必须为其保持有效的期间付费。如果您希望它在整个月内保持活跃,您可以查看每月承诺。不过,您可以通过 cloud.google.com/bigquery/pricing 查看 BigQuery 定价以了解统一费率承诺,以更好地了解您可能产生的费用。 Flex 插槽每小时收费 20.00 美元,因此我相信您的解决方法可能适合这种情况。
    • 我现在设置的是一个云函数,它为弹性插槽创建承诺、预订和分配。之后它会触发我的外部 ETL 管道工具。当我的查询完成后,外部工具会触发另一个取消槽承诺的云功能。这里有一个关于如何以编程方式创建插槽的示例:medium.com/google-cloud/…
    猜你喜欢
    • 2023-02-22
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 2022-12-09
    • 2022-07-18
    • 1970-01-01
    • 2018-02-27
    相关资源
    最近更新 更多