문제

다음 데이터 세트를 가정합니다.

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

다음 결과 세트를 얻으려면 ..

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

.. SQL을 사용하면 문제가 발생합니다.

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

하나의 명령에서 동일한 결과 세트를 생성하는 해당 Cassandra API 호출은 무엇입니까?

도움이 되었습니까?

해결책

CQL (Cassandra의 SQL 유사 쿼리 언어)는 이제 다음을 지원합니다.

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

http://cassandra.apache.org/doc/cql/cql.html#filteringrows

다른 팁

Alfred, Joe 및 Molly의 키가있는 multiget_slice를 수행 할 것입니다.

카산드라 등가는 아래에 설명 된대로 모델링 될 수 있습니다.

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

여기서 "Alfred"는 (행) 키이고 행에는 3 개의 열이 있습니다. 나이, 도시 및 전화. (세 열의 타임 스탬프 필드를 생략했습니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top