【问题标题】:Autoscaling instance in Google cloud谷歌云中的自动扩缩实例
【发布时间】:2020-08-13 18:24:35
【问题描述】:

我有一个会定期增长的数据集。

我打算将数据存储到 Google Bigquery 中,然后我想使用 Python 和 pandas 进行一些分析和数据转换,然后再次将其放入 Google Bigquery 中。

我正在考虑使用云计算引擎实例从 Google Bigquery 获取数据。我会从一个小实例开始,随着数据的增长,使用一些云函数来计算数据的大小,例如 pandas 需要处理这些数据并检查我是否需要增加实例的能力,但我不不知道有没有更好的办法解决这个问题。

我想知道谷歌云中是否有能够自动扩展实例功率的服务,因为随着数据的增长,实例将需要更多功率。

应用引擎会这样做吗?还是应用引擎只是横向扩展添加更多虚拟机?

Cloud run,它是一种服务,我可以使用它来触发运行 docker,它会自动创建一个实例并扩大它以处理数据?这是我可以使用的东西吗?

【问题讨论】:

  • 您的问题是关于如何“自动缩放 BigQuery”或其他类似 Compute Engine 的东西?有两种类型的扩展,“纵向扩展”(每个实例的功率更大)和“横向扩展”(更多实例共享负载)。使用更多详细信息编辑您的问题。
  • 我认为现在解释得更好
  • Big Query 中存储的数据量与计算实例所需的计算能力之间的相关性并不是线性映射的。 Google 不提供自动扩展您的计算实例更大的服务。您需要编写托管在 Cloud Functions 或 Cloud Run 中的函数,以根据您的自定义指标计算实例大小。
  • 我可以计算出 pandas 处理一定大小数据所需的内存 RAM 大小之间的相关性,并据此制定规则?我在想可能是使用 pyspark 代码来提高可扩展性,你认为这是个好主意吗?
  • 如果您可以计算 BigQuery 数据集大小和内存之间的相关性,为什么不编写一个简单的函数来做到这一点呢? PySpark 将是矫枉过正。

标签: google-cloud-platform autoscaling


【解决方案1】:

目前唯一可用的垂直自动缩放(增加 VM 的大小)是 pods in Google Kubernetes Engine。否则,应用引擎和计算引擎都只支持horizontal autoscaling(添加更多虚拟机),而虚拟机仍处于活动状态。 尽管如果您的用例允许关闭 VM 以便在需要时增加机器大小,那么这是完全可能的。 我建议选择足够大的机器类型来容纳您的数据,或者使用实例组来分散工作负载的权重(如果这在您的用例范围内)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 2019-09-29
    相关资源
    最近更新 更多