2012-08-11 18 views
1

我正试图将大约1.1亿条记录导入到DynamoDB中。DynamoDB PHP SDK-最快的批量导入方法?

使用CFBatchRequest:

$queue = new CFBatchRequest(800); 

,然后加入800 put_item的()把它只会导致大约190写入/秒,奇怪导致卷曲差错,每隔一段时间。它似乎并不关乎我使用的实例大小。我已经尝试过少于或超过800.

做单身put_item()速度非常慢。而且batch_write_item()没有重试功能,加上它只限于25个。

我看到EMR根本没有使用任何批处理,而且这里的搜索显示了一些有问题的人。

有没有更好的方法来解决这个问题?

+0

这可能有助于https://forums.aws.amazon.com/thread.jspa?messageID=333470 – yegor256 2012-10-17 08:31:20

回答

0
  1. 您是否使用SDK的非常非常新的版本? (此时为1.5.11)
  2. 减小请求池的大小将减少批处理错误的几率。如果你将它设置为800,你肯定会淹没卷曲。
  3. 如果没有帮助,PM我在官方的AWS论坛上,引用这个SO线程,我们可以多聊这个。
+0

发送给您PM ...真诚感谢您的帮助。 – tiredofcoding 2012-08-14 01:41:10