Cassandra 테이블에서 행 수를 얻는 방법


2 Answers

정확한 카운트가 필요하지 않은 경우 nodetool cfhistograms 에서 일부 추정치를 얻을 수도 있습니다 (이 값은 추정치 임).

DSE를 실행 중이면 spark를 사용할 수도 있습니다.

Question

이것은 기본적인 기본 질문이지만 실제로 며칠 동안 나를 괴롭 히고 있습니다. Cassandra에서 주어진 테이블의 COUNT(*) 에 해당하는 것을 얻을 수있는 좋은 방법이 있습니까?

몇 가지로드 테스트를 위해 C *에 수억 개의 행을 옮길 것이며 네트워크를 통해 엄청난 양의 데이터를 이동하기 전에 일부 샘플 ETL 작업에 대한 행 수를 얻고 싶습니다.

필자가 가지고있는 가장 좋은 아이디어는 기본적으로 파이썬으로 각 행을 반복하고 자동으로 카운터를 증가시키는 것입니다. C * 테이블의 행 크기를 결정 (또는 예측)하는 더 좋은 방법이 있습니까? 또한 Datastax Ops Center에서 행 크기를 결정할 수 있는지 살펴 보았습니다. 가능한 경우 어떻게 될지 모르겠습니다.

C *에서 테이블의 count(*) 를 얻는 데 필요한 다른 사람은 누구입니까? 그렇다면 어떻게 그 일을 시작 했습니까?




nodetool cfstats | grep -A 1000 KEYSPACE

해당 KEYSPACE의 모든 테이블에 대한 세부 사항을 보려면 KEYSPACE를 교체하십시오.




피하기 위해 copy를 사용할 수 있습니다 countandra 타임 아웃은 대개 count (*)에서 발생합니다.

cqlsh -e "copy keyspace.table_name (first_partition_key_name) to '/dev/null'" | sed -n 5p | sed 's/ .*//'




Related