: Ich bin zu Cassandra und verwenden Cassandra 3.10 und haben Tisch wieCassandra Auslöser
create table db1.table1 (id text, trip_id text, event_time timestamp, mileage double, primary key(id, event_time));
create table db1.table2 (id text, trip_id text, start_time timestamp, mileage double, primary key(id, start_time));
Ich muss die Daten von table1 übertragen, indem trip_id und Summe auf Kilometer und Aktualisierungsdaten in table2 aggregiert table2
ich habe eine Triggerfunktion geschrieben Spaltennamen zu erhalten und den Wert
public Collection<Mutation> augment(Partition partition) {
HashMap map = new HashMap();
CFMetaData cfm = partition.metadata();
String tableName = cfm.cfName;
try {
UnfilteredRowIterator it = partition.unfilteredIterator();
while (it.hasNext()) {
Unfiltered un = it.next();
Clustering clt = (Clustering) un.clustering();
Iterator<Cell> cells = partition.getRow(clt).cells().iterator();
while(cells.hasNext()){
Cell cell = cells.next();
map.put(cell.column().name.toString(), cell.value().array());
...
}
}
} catch (Exception e) {
}
...
}
Aber wie kann ich Primärschlüssel und den Wert des Primärschlüssels bekommen? Wenn diese nicht getable sein können, wie kann ich Trigger-Funktion verwenden, um die Aufgabe zu erledigen?