小编Ste*_*wie的帖子

Java Google App Engine批量加载程序下载警告"__key__没有降序索引,执行串行下载"

可能重复:
App引擎批量加载程序下载警告" 密钥没有降序索引,执行串行下载"

我的帖子非常相似:App引擎批量加载器下载警告"__key__没有降序索引,执行串行下载"

我基本上想要做同样的事情.

基本上,我使用以下内容来下载我的一种类型的所有实例:

appcfg.py download_data --config_file=bulkloader.yaml --kind=ModelName --filename=ModelName.csv --application=MyAppid --url=http://MyAppid.appspot.com/remote_api
Run Code Online (Sandbox Code Playgroud)

如果类型的实例多于批量大小,那么我会收到此警告:

No descending index on __key__, performing serial download
Run Code Online (Sandbox Code Playgroud)

这导致我只下载大约6500个实体需要471.4秒(根据bulkloader工具完成后).这真的很慢,因为我还有其他4种甚至更大(大约15,000个实体)!

另外根据我的Mac的活动监视器,我只以大约24Kb /秒的速度下载,如bulkloader输出中的带宽所示:

[INFO    ] Logging to bulkloader-log-20110514.011333
[INFO    ] Throttling transfers:
[INFO    ] Bandwidth: 250000 bytes/second
[INFO    ] HTTP connections: 8/second
[INFO    ] Entities inserted/fetched/modified: 20/second
[INFO    ] Batch Size: 10
Run Code Online (Sandbox Code Playgroud)

我的问题是:

1)如何摆脱这个警告"__key__没有下降索引,执行串行下载"以获得并行下载速度?

我认为我的问题的答案是添加降序索引.就像是:

<datastore-index kind="Game" ancestor="false" source="manual">
    <property name="id" direction="desc"/>
</datastore-index>
Run Code Online (Sandbox Code Playgroud)

我尝试将其添加到datastore-indexes.xml文件中.

它已成功部署,但我查看了Google上管理门户网站上的数据存储区索引,但我没有看到它正在服务或正在构建.无论如何,为了它,我重申下面的命令,它仍然很慢......

我也尝试将相同的xml,但使用source ="auto",添加到datastore-indexes-auto.xml文件.但是,当我尝试部署我的eclipse抱怨时出现以下错误:

java.io.IOException: Error posting to URL: https://appengine.google.com/api/datastore/index/add?app_id=<My_APP_ID>&version=1&
400 …
Run Code Online (Sandbox Code Playgroud)

java google-app-engine bulkloader objectify

7
推荐指数
0
解决办法
432
查看次数

标签 统计

bulkloader ×1

google-app-engine ×1

java ×1

objectify ×1