J'insère et met à jour plusieurs entrées dans une table dans Cassandra en utilisant le pilote python Cassandra. À l'heure actuelle mon code ressemble à:le moyen le plus rapide d'insérer dans cassandra en utilisant le pilote python 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))
Cette méthode d'insertion et de mise à jour est assez lent que le nombre d'entrées dans la liste (tous sont uniques) qui sont à insérer est très grande. Y a-t-il un moyen plus rapide de le faire?
utilisation '. Méthode Session.execute_async' avec préparation d déclaration –
d'où provient bool'? c'est un nom de classe intégré, ne l'utilisez pas pour vos objets –
@AzatIbrakov execute_async() exécute-t-il les requêtes dans l'ordre? Si c'est le cas, alors je peux exécuter de nombreuses requêtes en utilisant execute_async() et juste appeler result() sur l'objet ResponseFuture retourné par le dernier appel à session.execute_async(), n'est-ce pas? Si non, alors que dois-je faire pour m'assurer que toutes les requêtes ont été exécutées (c'est-à-dire que toutes les insertions sont terminées)? –