2013-06-24 3 views
-1

저는 C * 세계에 불과 1 주일 남았습니다. 복사 명령을 사용하여 약 23GB의 CSV 파일에서 데이터를 업로드하고 있습니다.복사 명령으로 카산드라로 데이터 가져 오기

열이 성공적으로 삽입되도록 열 패밀리의 행 개수를 가져와야합니다. 이 작업을 수행하는 두 가지 방법을 읽었습니다.

select count (*) from Limit 2000000; nodestats 도구를 사용하여 cfstas 명령을 실행하고 결과에서 키 수 (예상)를 확인하십시오. 옵션 (1)을 시도했지만 아무런 결과없이 오래 기다렸습니다. 나는 그 다음 옵션 (2)을 시험해 보았다. 그러나 나는 키의 수 (추정치)가 시간에 따라 감소한다는 것을 발견했다. 이것은 나의 노드 도구의 출력 명령의 일부입니다

nodetool --host 54.225.108.245 cfstats

O/P :

Keyspace: cookie_udp_ja_meta 
    Read Count: 0 
    Read Latency: NaN ms. 
    Write Count: 215724 
    Write Latency: 1.1088440368248316 ms. 
    Pending Tasks: 0 
      Column Family: rpt_true_metric 
      SSTable count: 7 
      Space used (live): 741159354 
      Space used (total): 741160083 
      Number of Keys (estimate): 896 
      Memtable Columns Count: 437886 
      Memtable Data Size: 61865984 
      Memtable Switch Count: 9 
      Read Count: 0 
      Read Latency: NaN ms. 
      Write Count: 215725 
      Write Latency: 1.074 ms. 
      Pending Tasks: 0 
      Bloom Filter False Positives: 0 
      Bloom Filter False Ratio: 0.00000 
      Bloom Filter Space Used: 7792 

키 (추정)의 수는 한 896 난을 실행할 때 이전 오분 명령과 1024 3 분 전에. 그러나 키 공간에 대한 'Write Count : 324654'값이 증가하는 것으로 나타났습니다.

약 30 분 후에도 작업이 완료되지 않아 데이터를 올바르게 가져 오는 경우 혼란 스럽습니다. 은 SELECT COUNT 내 경우 http://www.datastax.com/support-forums/topic/row-count-for-a-given-column-family

(*) cqlsh 명령 : 좋은 말 ..

+0

내 블로그 게시물에서 어떤 일이 벌어지고 있는지 확인할 수 있습니다. http://www.wentnet.com/blog/?p=24 카운트 다운이 실패한 이유는 아마도 오래된 SSTables를 제거하는 압축 때문일 것입니다. – Richard

+0

입력 해 주셔서 감사합니다. 나는 당신의 블로그를 읽고 그러므로 nodetool compactnt ..을 읽었다. 그러나 이제, 키 (추정치)의 수는 128로 훨씬 더 줄었다. SStable count는 이제 1이다. select count (*) 쿼리는 제한이 10000 인 값을 반환합니다. 데이터 폴더의 크기가 거의 2GB 증가함에 따라 10^6 개 이상의 레코드가 있습니다. – eldho

+0

select count (*) 반환 값은 무엇입니까? ? 같은 열에 많은 열을 삽입하여 열을 덮어 쓰는 것 같습니다. – Richard

답변

0

당신은로드가 완료 될 때까지, 행 수를 얻을 수있는 다른 방법이 외부 스레드에 설명되어 기다릴 필요가 조언을 로드가 완료된 후에도 RPC 명령 시간 초과가 발생합니다. 이것은 카산드라에서 매우 비싼 작업이며 성공 여부는 기본적으로 컴퓨터의 안정성과 cassandra.yaml의 RPC 시간 초과 값에 달려 있습니다.

+0

제 경우에도 RPC 시간 초과 오류가 발생했습니다. '키의 수 (예상치)'는 전체 복사 작업이 완료되고 삽입이 완료된 후에 만 ​​적절한 값을 제공하는 것으로 보입니다. 하지만 시간이 경과함에 따라 선형 적으로 증가하는 것으로 보이기 때문에 Keyspace에서 주어진 쓰기 카운트 값이 대략적으로 줄 수 있는지 궁금합니다. – eldho

+1

쓰기 횟수가 쓰기 작업 횟수이므로 항상 늘 것입니다. (노드가 재시작 될 때까지). 행에 한 번만 쓰면 행 수 (시간 초과 및 재 시도가 없다는 가정하에)가됩니다. 그렇지 않으면 더 커집니다. – Richard

+0

@ 리차드 감사합니다 .. 거기에 내 의심을 지 웁니다 .. – eldho