大量のデータをDynamoDBにインデックス付けし、バッチ書き込みを試して実際のスループットを向上させています(つまり、インデックス作成を高速化しています)。これがコードのブロックです(これは元のソースです):
def do_batch_write(items,conn,table):
batch_list = conn.new_batch_write_list()
batch_list.add_batch(table, puts=items)
while True:
response = conn.batch_write_item(batch_list)
unprocessed = response.get('UnprocessedItems', None)
if not unprocessed:
break
# identify unprocessed items and retry batch writing
botoバージョン2.8.0を使用しています。items
25を超える要素がある場合、例外が発生します。この制限を増やす方法はありますか?items
また、短い場合でも、1回の試行ですべてを処理できない場合があることに気付きました。ただし、これが発生する頻度、または試行後に未処理のままになっている要素の数と、の元の長さの間には相関関係がないようですitems
。これを回避し、すべてを1回の試行で書き込む方法はありますか?現在、最終的な目標は、繰り返しを回避するだけでなく、処理を高速化することです。そのため、連続する試行の間に長時間スリープすることはできません。
どうも