谷歌应用引擎flex

时间:2017-07-19 15:50:32

标签: google-app-engine google-cloud-datastore

我们有一个项目,其中2个数据集(种类)存储在google数据存储区中,共有110万条记录。我们还计划在未来添加更多数据集。现在我们正在考虑转向app engine flex,以便可以利用numpy,pandas和ML框架Scikit-learn等统计库来构建预测模型。作为数据转换/计算的一部分,pandas和numpy将用于从存储在Google数据存储区中的数据集中提取新功能。

问题 - 在大型数据集上执行计算逻辑的有效方法是什么,这涉及谷歌应用程序引擎灵活环境中的数据聚合和转换。初始我考虑使用任务队列来执行此重载转换,考虑到它有10分钟的超时但不确定它是否在flex环境中可行

1 个答案:

答案 0 :(得分:0)

问题是任务队列在flex环境中的支持有限。来自Migrating Services from the Standard Environment to the Flexible Environment

  

任务队列

     

任务队列服务的可用性有限   标准环境。如果你想使用以外的服务   在标准环境中,您可以注册Cloud Tasks alpha

     

在标准环境之外,您无法向push queues添加任务,但在灵活环境中运行的服务可以是   推送任务的目标。您可以使用   将任务添加到队列或通过指定时的target参数   queue.yaml中队列的默认target

     

在许多情况下,您可能会使用拉取队列,例如排队   将被单独提取和处理的任务或消息   工人,Cloud Pub/Sub可以提供一个很好的选择   类似的功能和交付保证。

以上引用中已经提到了一种方法:使用 Cloud Pub / Sub

报价中还暗示了另一种方法:

  • 将现有应用程序的一部分保留为标准环境服务/模块,填充数据集并将处理任务推送到推送任务队列

  • 在需要使用这些库的处理服务/模块中使用flex环境。这些将被指定为推送任务的目标。