CQL3의 행 키 이외의 복합 키로 데이터 필터링을 쿼리하려고합니다. 이 내 쿼리는 다음과 같습니다Cassandra의 행 키가 아닌 복합 키를 사용하여 쿼리
CREATE TABLE grades (id int,
date timestamp,
subject text,
status text,
PRIMARY KEY (id, subject, status, date)
);
나는 시도하고 데이터에 액세스,
SELECT * FROM grades where id = 1098; //works fine
SELECT * FROM grades where subject = 'English' ALLOW FILTERING; //works fine
SELECT * FROM grades where status = 'Active' ALLOW FILTERING; //gives an error
잘못된 요청 : PRIMARY KEY 부분의 상태가 제한 될 수 없습니다 (위의 부분 대상이 제한되지 않거나 비 EQ로 관계)
그냥 실험하기 위해, 나는 shuf 'ID'를 항상 내 기본 행 키로 유지하는 데 열쇠를 피했다. 위의 예를 고려하여 기본 행 키 또는 두 번째 키를 사용하여 쿼리 할 수 있습니다. 주체 키와 상태를 바꿔서 상태를 쿼리 할 수 있지만 수행하려고하면 비슷한 오류가 발생합니다. 주제 또는 시간.
내가 잘못 했나요? CQL3에서 다른 복합 키를 사용하여 데이터를 쿼리 할 수 있습니까? Cassandra 1.2.6 및 CQL3을 사용하고 있습니다.
멋진 설명! –
알았습니다! 고마워요, 지금 나에게 훨씬 더 의미가 있습니다. 내 쿼리를 통해 반복하고 상태를 얻을 수 있도록 항상 제목을 제한 할 필요가 없기 때문에 내가 구조화하고 싶은지 확인할 것입니다. – user988544
많이 도와 줬어! 고마워 – kn0x