我们有一个项目,其中2个数据集(种类)存储在google数据存储区中,共有110万条记录。我们还计划在未来添加更多数据集。现在我们正在考虑转向app engine flex,以便可以利用numpy,pandas和ML框架Scikit-learn等统计库来构建预测模型。作为数据转换/计算的一部分,pandas和numpy将用于从存储在Google数据存储区中的数据集中提取新功能。
问题 - 在大型数据集上执行计算逻辑的有效方法是什么,这涉及谷歌应用程序引擎灵活环境中的数据聚合和转换。初始我考虑使用任务队列来执行此重载转换,考虑到它有10分钟的超时但不确定它是否在flex环境中可行
答案 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环境。这些将被指定为推送任务的目标。