Ich muss zwei Tabellen in Cassandra vergleichen, um die Unterschiede zu erhalten. Hier ist die Anforderung. Wir müssen Inventurzählung durchführen, wo wir alle Artikel auf Lager eingeben und scannen, und nach dem Ende werden wir alle mit der Hauptbestandstabelle vergleichen, um die Abweichung zu erhalten. Ich habe eine temporäre Tabelle in Cassandra erstellt, in die ich einen Datensatz für jeden Scan einfügen werde.Wie zwei Tabellen in Cassandra zu vergleichen
**TempInventory**
userId
storeId
skuId
PK(storeId, skuId)
Ich habe Master-Tabelle mit anderen Details -
**Inventory**
storeId
skuId
skuDesc
..
..
PK(storeId)
Sobald dann anschließend auf abgeschlossen Scan I tempInventory mit Inventar Tabelle vergleichen muß, um die Unterschiede zu bekommen. Was ist also der beste Weg, dies in Kassandra zu tun, da wir nicht verwenden können Joins -
- Holen Sie sich alles in Java-Klasse in Sammlung von Objekten und dann vergleichen (Verwenden Sie Java 8-Funktionen für eine bessere Leistung) [in diesem Fall Inventar Tisch Größe kann mehr als 3000 sein. So wird es gut sein, alles in JVM zu bekommen)
- Verwenden Sie Spark SQL mit Cassandra, die Joins verwenden können (Spark ist neu für mich, so hat keine bessere Idee. Einige Links von Beispielen wäre hilfreich)
- Gibt es noch ein anderes Programm (zB von Apache)
- Ich benutze Gemfire auch. Aber ich denke, wir können keine Region in Gemfire mit Composite-Key erstellen. Bitte korrigieren Sie mich.
Bitte schlagen Sie vor, welcher Ansatz am besten geeignet ist.
Danke. Mehrere Benutzer können scannen und sie können denselben sku scannen. Wir brauchen also keine doppelten Zeilen für denselben SKU. Deshalb ist sku ein Teil von PK. – Saurabh