Google app engine App engine批量加载程序下载警告“;在“uuu键”上没有降序索引,执行串行下载;

Google app engine App engine批量加载程序下载警告“;在“uuu键”上没有降序索引,执行串行下载;,google-app-engine,bulkloader,Google App Engine,Bulkloader,我正在使用以下内容下载我的一种类型的所有实例: appcfg.py download_data --config_file=bulkloader.yaml --kind=ModelName --filename=ModelName.csv --url=http://appid.appspot.com/remote_api 如果该种类的实例数大于批量大小,则我会收到以下警告: No descending index on __key__, performing serial download

我正在使用以下内容下载我的一种类型的所有实例:

appcfg.py download_data --config_file=bulkloader.yaml --kind=ModelName --filename=ModelName.csv --url=http://appid.appspot.com/remote_api
如果该种类的实例数大于批量大小,则我会收到以下警告:

No descending index on __key__, performing serial download
我没有任何自定义索引,也没有任何禁用索引的属性

我是否“需要”做些什么来解决这个警告,或者它只是一个我可以安全忽略的警告?它会影响下载速度吗

在示例输出中包含警告消息,但未提及

说我需要创建一个索引。然而,添加更多索引会降低对实体的写入速度——我不希望这样做,因为我将更频繁地编写实体,而不是进行批量数据下载


谢谢。

正如错误所描述的,对于您正在下载的型号,如果在
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>上没有降序索引,bulkloader必须连续下载。如果按照描述添加索引,它将能够并行下载。如果您不这样做,它可以正常工作,但下载速度会慢一些,因为它是连续运行的


请注意,额外的索引对延迟的影响很小,因为索引行是与实体写入并行写入的,这意味着写入只需要最慢的更新时间。

我通过将此代码添加到index.yaml解决了此问题

kind: books
- properties:
  name: __key__
    - direction: desc
kind: books
- properties:
  name: another_indexes_here

如果您正在使用JAVA和datastore-indexes.xml文件

向datastore-indexes.xml文件中添加以下内容(假设种类名称为“Books”):

<datastore-index kind="Books" ancestor="false" source="auto"> 
    <property name="__key__" direction="desc"/> 
</datastore-index>

然后重新部署你的应用程序。确保检查“数据存储索引”选项卡以查看
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuu键是否正在使用。

然后您可以再次尝试下载。

您的代码中是否有降序查询?@systempuntoout:是的,但仅在我的一种类型上(此警告发生在具有>批量大小实例的任何类型上),并且order子句不在键上(它在datetime属性上)…如何定义降序索引?我所能找到的只是在2013年产生错误的2-3年的东西(