나는 sensordata가있는 카산드라 3.7에 테이블/칼럼을 가지고 있습니다.카산드라의 동일한 기본 키에 대한 중복 행/열
CREATE TABLE test.sensor_data (
house_id int,
sensor_id int,
time_bucket int,
sensor_time timestamp,
sensor_reading map<int, float>,
PRIMARY KEY ((house_id, sensor_id, time_bucket), sensor_time)
)
이제이 표에서 선택할 때 동일한 기본 키에 대해 복제본을 찾았습니다. 불가능하다고 생각했던 것입니다.
cqlsh:test> select * from sensor_data;
house_id | sensor_id | time_bucket | sensor_time | sensor_reading
----------+-----------+-------------+---------------------------------+----------------
1 | 2 | 3 | 2016-01-02 03:04:05.000000+0000 | {1: 101}
1 | 2 | 3 | 2016-01-02 03:04:05.000000+0000 | {1: 101}
나는 문제의 일부는이 데이터가 모두 자바와 Datastax 자바 드라이버를 사용하여 "라이브"에 기록 된 것을 생각하고는 sstableloader을 사용하여 다른 소스에서 역사적인 데이터와 함께로드되었습니다.
이 방법은 가능하지 않습니다. 나는이 클러스터에 기존의 cassandra-cli를 연결할 방법이 없다. 아마도 cqlsh를 사용하여 볼 수없는 것을 말해 줬을 것이다.
따라서 질문은 다음과 같습니다.
* 알려진 상황에서이 문제가 발생할 수 있습니까?
* cqlsh를 사용하여 더 많은 원시 데이터를 읽을 수 있습니까? 특히이 두 행의 시간을 기록하십시오. writetime() - 함수는 기본 키 또는 컬렉션에서 작동 할 수 없으며 그게 전부입니다.
감사합니다.
업데이트 :
이 내가 댓글, 답변 및 기타 소스에서 시도한 것입니다
* 선택 후, blobAsBigInt는 카산드라 - CLI 사용하여 연결 모두 동일한 행
*에 대해 같은 큰 정수를 제공하여 근검을 가능하게하는 것은 가능하지만 테이블을 읽는 것은 불가능합니다. 3.x 이후에는 지원되지 않습니다.
* sstabledump를 사용하여 덤프가 진행되지만 1 주일에서 2 주 정도 걸릴 것으로 예상됩니다.)
당신이 ...를 확인하실 수 있습니다 재생 관리 카산드라 -cli 데이터? – Nick
아니요, 3.x에서는 cassandra-cli가 지원되지 않습니다. 내가 sstabledump 할 수 있지만 데이터 파일이 거대하고 그 도구는 필터링을 제공합니다. –
sensor_time은 두 행에서 모두 다르지만 시간이 같은 것처럼 잘리고 표시됩니다. Cassandra 메일 링리스트에도 물어볼 수 있습니다. – Nick