2014-02-17 1 views
1

테이블의 열은 float 유형이며 행이 삽입 될 때, 즉 나중에 채워지는 경우 채워지지 않습니다. 해당 행을 선택하는 방법이 있습니까?기본 float 값

cql CLI는 값 null을 출력합니다.

이것은 내가 시도한 쿼리입니다. 다음

select * from <table> where <column> is null;

그리고

카산드라의 일처럼 더 널 (null)이없는이 CQL: Unable to Null Check in "Where" Clause

즉 따랐다.

해결 방법이 있습니까?

답변

1

아쉽게도 현재 지원되지 않습니다. 카산드라는 특별한 상수와 달리 null이 값의 부족으로 해석합니다. 추측 하건데 선택 쿼리 (인덱싱, 파티셔닝은 물론)에 널 지원을 추가하는 것이 코드 별로나 테이블에서 데이터가 지속되는 방식에 대한 주요 재 설계가 될 것이므로 현재 추구하지는 않습니다.

해결 방법은 클라이언트 측에서 "null"로 해석 할 수있는 상수 값을 사용하는 것입니다 (예 : NaN, -Infinity 또는 일반적인 범위의 값을 벗어나는 값). 기본값은 현재 지원되지 않으므로이 값으로 적절한 행을 명시 적으로 초기화해야합니다.

+0

많은 것들이 지원되지 않습니다. 나는 mongodb로 이동할 계획입니다. –

+0

충분합니다. Cassandra 확장 성 및 perf 기능이 특별히 필요하지 않은 경우 MongoDB는보다 쉽고 효과적인 솔루션입니다. –

1

Daniel은 아직 지원되지 않지만 올바르지 않습니다. :)

null은 실제로 원래 발행물의 링크 당 1.2.4에서 지원됩니다. 그러나 이처럼 색인화되지 않은 필터링 된 쿼리는 ALLOW FILTERING과 함께조차도 지원되지 않습니다 (https://issues.apache.org/jira/browse/CASSANDRA-6377). 이는 카산드라가 대규모로 응용 프로그램을 지원하는 임무를 수행하지 못하기 때문입니다. 이런 종류의 쿼리는 프로토 타입을 작성하는 동안 매우 유용하지만, 10 개의 행 중 10 개가 null 인 경우 클러스터에이를 적용하면 시간이 많이 걸립니다.

(당신이 규모 분석의 일환으로이 작업을 수행해야하는 경우 지금, 카산드라는 우리의 하둡 통합 또는 DataStax 기업에 당신을 가리 킵니다.) 말했다

, 우리는, 수 있도록 사용자의 위치를 ​​향해 이동하고 있습니다 그들이 발에서 스스로를 쏘는 것을 의미한다고해도 그들이 원하는 것을하십시오. 나중에 2014 년에 3.0에서 이러한 종류의 쿼리를 지원할 예정입니다.