Cassandra API Äquivalent von „SELECT FROM ... ... WHERE ID IN ( '...', '...', '...');“

StackOverflow https://stackoverflow.com/questions/2445878

  •  20-09-2019
  •  | 
  •  

Frage

Nehmen Sie die folgenden Datensatz:

id       age  city      phone
==       ===  ====      =====
alfred   30   london    3281283
jeff     43   sydney    2342734
joe      29   tokyo     1283881
kelly    54   new york  2394929
molly    20   london    1823881
rob      39   sydney    4928381

Um die folgende Ergebnismenge zu erhalten ..

id       age  phone
==       ===  =====
alfred   30   3281283
joe      29   1283881
molly    20   1823881

.. SQL eine Verwendung würde ausgeben ..

SELECT id, age, phone FROM dataset WHERE id IN ('alfred', 'joe', 'molly');

Was ist die entsprechende Cassandra API-Aufruf, der die gleiche Ergebnismenge in einem Befehl ergeben würde?

War es hilfreich?

Lösung

CQL (Cassandras SQL-ähnliche Abfragesprache) unterstützt nun diese:

SELECT ... WHERE keyalias IN ('key1', 'key2', 'key3', ...);

http://cassandra.apache.org/doc/cql/CQL. html # Filteringrows

Andere Tipps

würden Sie eine multiget_slice w / Schlüssel von alfred tun, joe, und molly, und SlicePredicate column_names von id, Alter, Telefon

Ein Cassandra äquivalent könnte modelliert werden, wie unten beschrieben:

Users = { //this is a ColumnFamily
  "alfred": { //this is the key to this Row inside the CF
     "age":"30",
     "city":"london",
     "phone":"3281283"
  }, // end row
  // more rows...
}

Dabei steht „alfred“ ist Ihre (Zeile) Taste und die Zeile hat drei Spalten; Alter, Stadt und Telefon. (Die Zeitstempel-Feld Ausgelassene (der Einfachheit halber) für die drei Spalten)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top