2013-05-06 2 views
1

그래서 매우 큰 행이 있습니다. 일부는 수백만 열입니다. 각 열은 JSON 객체입니다.ruby를 사용하여 cassandra에서 전체 행을 검색하는 방법

분명히 데이터는 저축의 max_packet보다 크며 전체 행을 검색하려고 할 때 나는 모든 종류의 정신을 잃습니다. 문제는 데이터를 검색하는 (루비를 사용하여)보다 정상적인 방법이 있는지입니다. 그것은 모두 TimeUUID 데이터이고, 한 번에 100 또는 1000 정도의 배치를 사용하여 전체 행을 검색 할 수 있기를 원합니다. 그러나, 나는 이것을 할 방법을 알아낼 수 없습니다. 범위 작업의 대부분은 키 기반이며 열 기반이 아닙니다.

아, 만약 내가 평범한 사람이라면 내 반지의 두 노드 (RF = 2)가 충돌합니다. GC는 그 동안 모두 스레 쉬는 것처럼 보입니다. 그리고 충돌시 Java Heap OOM 오류가 발생합니다.

감사 범위 작업의 대부분

답변

0

브렛 키 기반이 아닌 열을 기반으로합니다. 당신이 사용하고 있지만, 카산드라의 API는 열 이름의 범위를 반환하도록 지정할 수 있습니다 SliceRange을 받아들이는 get_slice 방법을 지원하는 인터페이스

확실하지. twitter ruby clientgetmulti_get:start:finish 옵션을 슬라이스 범위에 매핑합니다.

+0

get_slice를 반복하면 저에게 해줄 것으로 보입니다. 아마 장기간에, 나는 조정해야 할거야. 내 행은 그리 길지 않다. 나는 트위터 루비 클라이언트를 사용하고있다. – brettnem

관련 문제