【发布时间】:2014-02-07 21:58:46
【问题描述】:
我有 400,000 个特定类型的实体,我想对每个实体执行一个简单的操作(添加一个属性)。我无法连续处理它们,因为这需要很长时间。我不想使用 MapReduce 库,因为它既复杂又难以承受。
基本上,我想在任务队列上创建 100 个任务,每个任务占用约 4,000 个实体的片段并对每个实体执行此操作。当所有任务并行执行时,希望这不会花费超过几分钟来处理所有 400k 实体。
但是,我不确定如何使用 GAE 查询来执行此操作。我的实体具有由我的应用程序生成的“230498234-com.example”形式的字符串 ID。我希望每个任务基本上都询问数据存储区,例如“请给我实体 #200,000-#204,000”,然后对它们一一进行操作。
这可能吗?如何以这种方式划分数据存储区?
【问题讨论】:
标签: java google-app-engine parallel-processing google-cloud-datastore