Ich habe Tabelle mit vielen Datensätzen mit TTL-Wert für 1 Jahr beim Einfügen eingestellt. Jetzt möchte ich die Aufzeichnungen mit TTL-Wert auf einfache Weise auf 5 Jahre aktualisieren. Ich weiß, wir können es durch UPDATE TABLE USING TTL <value> set column ='' where condition
tun, aber ich habe Millionen Datensätze, also brauche ich eine Lösung mit einer Abfrage.Update TTL-Wert für vorhandene Zeilen in einer Tabelle für Cassandra-Datenbank
Antwort
Sie können es nicht in einer einzelnen Abfrage tun. Die TTL wird mit den Daten geschrieben, um die TTL zu ändern, müssen Sie alles neu schreiben. Ich würde entweder einen Spark-Job, ein A 1 off-Skript zum Lesen und Neuschreiben von allem empfehlen oder ein benutzerdefiniertes Komprimierungstool schreiben, um während einer Komprimierung alles neu zu schreiben (einfacher in 3.x).
können Sie die beste Lösung für Version 2.1 empfehlen. Und was ist Spark Job? –
Am schnellsten ist es, einfach ein kleines Skript zu schreiben, das alles mit einem neuen ttl liest und neu schreibt. Kann die WRITETIME - Funktion bei select verwenden, um die Zeit, in der sie geschrieben wurde, zu erhalten und daraus das neue ttl '(5 years - (now - writetime))' abzuleiten –
- 1. Prevent Update auf nicht vorhandene Zeilen
- 2. SQL-Update für ausgewählte Zeilen
- 3. Postgresql Sperren von Zeilen für Update mit temporärer Tabelle
- 4. Wie finden Sie Einschränkungen für vorhandene Tabelle?
- 5. Fast Update für eine Tabelle
- 6. Einfügen ‚geradzahlige‘ Zeilen in eine vorhandene Tabelle in mysql
- 7. Möchten Sie für alle Zeilen in einer Tabelle in cassandra
- 8. Vergleichen von Daten in der gleichen Tabelle für nicht vorhandene Zeilen
- 9. Update Mehrfachauswahl Dropdown-Liste für einzelne Daten in einer Tabelle
- 10. Auto_inkrement-Wert für vorhandene Tabelle in MYSQL ändern
- 11. MySQL: UPDATE von vielen Zeilen in einer großen Tabelle optimieren
- 12. für jede Gruppe beliebige Zeilen auswählen in einer Postgres-Tabelle
- 13. Ausführen von Hive-QL-Anweisungen in einer Tabelle für alle Zeilen einer Spalte einer anderen Tabelle
- 14. Update-Abfrage für n Anzahl oder Zeilen
- 15. SQL - Tabelle für Zeilen vergleichen und aktualisieren?
- 16. Wie werden alle Zeilen in einer Tabelle für alle Gruppen in einer anderen Tabelle wiederholt?
- 17. MySQL: Update Werte für mehrere Zeilen in der gleichen Spalte
- 18. JSP Update mehrere Zeilen aus Tabelle
- 19. Partition in vorhandene Tabelle umschalten
- 20. Loop-Array-Daten Zeilen für Zeilen in der Tabelle
- 21. Erstellen von Ansicht und Prozedur für nicht vorhandene Tabelle?
- 22. Auslöser für Update
- 23. Attach für Update Entity Framework
- 24. Update mehrerer Zeilen in einer SQL-Abfrage
- 25. Joining zu einer Tabelle mit mehreren Zeilen für die Verknüpfungselement
- 26. SQLite - update Tabelle Anzahl Zeilen nacheinander
- 27. Warum erstellt Tabelle nicht einen Fehler für bereits vorhandene Tabellen?
- 28. Was sollte die Tabelle enthalten aktualisierte Zeile für Update-Trigger
- 29. Mehrere Zeilen in einer Zelle einer Tabelle
- 30. Zeilen Überlauf in einer Tabelle
Ich glaube nicht, dass es mit einem Quey möglich ist .... Sie können den Spark-Cassandra-Anschluss verwenden, um die Daten zu lesen und sie zurück in Cassandra ... –