Cassandra API équivalent de « SELECT ... FROM ... WHERE id IN ( '...', '...', '...'); »

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

  •  20-09-2019
  •  | 
  •  

Question

Supposons que l'ensemble de données suivantes:

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

Pour obtenir l'ensemble de résultat suivant ..

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

.. en utilisant un SQL publierait ..

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

Qu'est-ce que l'appel API Cassandra correspondant qui produirait le même résultat défini dans une commande?

Était-ce utile?

La solution

CQL (de Cassandra langage de requête comme SQL) supporte maintenant ceci:

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

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

Autres conseils

vous faire multiget_slice w / clés de alfred, Joe et molly et SlicePredicate column_names d'identité, âge, téléphone

A Cassandra équivalent pourrait être modélisé comme décrit ci-dessous:

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...
}

où « alfred » est votre clé (ligne) et la ligne a trois colonnes; âge, ville et téléphone. (Omis dans le champ d'horodatage (par souci de simplicité) pour les trois colonnes)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top