python Cassandraドライバを使用して、複数のエントリをCassandraのテーブルに挿入して更新しています。現在、私のコードは次のようになります。python cassandraドライバを使用してcassandraに最も速く挿入する方法
cluster = Cluster()
session = cluster.connect('db')
for a in list:
if bool:
# calculate b
session.execute("UPDATE table SET col2 = %s WHERE col1 = %s", (b, a))
else:
# calculate b
session.execute("INSERT INTO table(col1, col2) VALUES(%s, %s)", (a, b))
挿入されるリストのエントリ数は、(すべてがユニークである)非常に大きいとして挿入および更新するこの方法は非常に遅いです。これを行うより速い方法がありますか?
使用 ' Session.execute_async'メソッドを準備するdステートメント –
'bool'はどこから来ますか?それはあなたのオブジェクトのために使用しないでください、組み込みクラス名です –
@AzatIbrakovはexecute_async()順番にクエリを実行しますか?そうであれば、execute_async()を使用して多くのクエリを実行し、session.execute_async()の最後の呼び出しで返されたResponseFutureオブジェクトに対してresult()を呼び出すことができます。いいえの場合は、すべてのクエリが実行されたことを確認するために何をすべきですか(つまり、すべての挿入が完了しています)。 –