Nie, CQL tak naprawdę nie ma sposobu na zdefiniowanie zmiennych, uruchomienie pętli i aktualizację/zapytanie na podstawie tych zmiennych.
Jako alternatywę zazwyczaj używam DataStax Python driver do prostych zadań/skryptów, takich jak ten. Oto fragment skryptu w języku Python, którego kiedyś użyłem, aby zapełnić kolory produktów z pliku CSV.
# connect to Cassandra
auth_provider = PlainTextAuthProvider(username='username', password='currentHorseBatteryStaple')
cluster = Cluster(['127.0.0.1'], auth_provider=auth_provider)
session = cluster.connect('products')
# prepare statements
preparedUpdate = session.prepare(
"""
UPDATE products.productsByItemID SET color=? WHERE itemid=? AND productid=?;
"""
)
# end prepare statements
counter = 0
# read csv file
dataFile = csv.DictReader(csvfilename, delimiter=',')
for csvRow in dataFile:
itemid = csvRow['itemid']
color = csvRow['customcolor']
productid = csvRow['productid']
#update product color
session.execute(preparedUpdate,[color,itemid,productid])
counter = counter + 1
# close Cassandra connection
session.cluster.shutdown()
session.shutdown()
print "updated %d colors" % (counter)
Aby uzyskać więcej informacji, zapoznaj się z samouczkiem DataStax Getting Started with Apache Cassandra and Python.