저는 쿼리 언어로 CQL3과 함께 Cassandra 2.0을 사용하고 있습니다. LIMIT 값을 생략하면 Cassandra는 SELECT 문의 LIMIT 값으로 보통 10,000으로 기본 설정됩니다. 반환되는 행의 수에 관계없이 열 패밀리의 모든 행을 쿼리 할 수 있습니까? 또는 모든 행을 가져 오려면 LIMIT 값을 매우 높은 값으로 설정해야합니까? Thx!Cassandra CQL3 LIMIT없이 select 문
1
A
답변
6
이것은 일반적인 오해입니다. 대화식 쉘인 cqlsh에는 기본값 10000 행 제한 만 있습니다. 서버 및 프로토콜에는 반환 될 수있는 행의 기본 또는 최대 수가 없습니다. 시스템이 불안정해질 수있는 조작 된 쿼리를 사용자가 실행하지 못하도록 쿼리 실행을 중지하는 시간 제한이 있습니다.
테이블에서 모든 정보를 얻으려면 가장 좋은 도구는 일반적으로 스파크와 같은 별도의 분석 엔진입니다. 데이터가 충분히 작 으면 페이징을 사용하면 질의에있는 데이터의 일부만 반환 할 수 있으며 모든 것을 한 번에 반환 할 수는 없습니다. 페이지 매김은 거의 모든 현대적인 드라이버가 지원합니다. 2.1 분기에서 곧 준비되어야하는 cqlsh에 추가하는 작업도 있습니다.
-1
문서에 따르면 그렇게 할 수 없습니다. 행 수를 계산 한 다음이 값을 제한 표현식에 사용하는 방법은 무엇입니까?
+1 2.1에 대한 COPY 변경 사항이 크게 개선 된 것처럼 변경되었습니다. https://issues.apache.org/jira/browse/CASSANDRA-7405 – Aaron