2013-07-18 3 views
0

큰 .csv 파일에서 cqlsh의 복사본을 사용하여 Cassandra로 데이터를 업로드하고 있습니다. cassandra 1.2 및 CQL 3.0을 사용하고 있습니다. 그러나 "데이터의 일부이므로 다른 데이터를 업로드 할 때 다른 문자를 사용해야하므로 확장 된 ASCII 문자를 사용해야합니다. 여러 가지 방법을 시도했지만 실패합니다cqlsh의 COPY에서 ascii 문자를 사용하는 방법

다음은 작동하지만

: 내 목적을 위해 확장 ASCII 문자 ..

copy (<columnnames>) from <filename> where deleimiter='|' and quote = '"'; 
copy (<columnnames>) from <filename> where deleimiter='|' and quote = '~'; 

내가 견적을 제공

이 = 'ß'나는 아래의 오류 "quotechar"는 1 문자이어야합니다 acter 문자열

내가 인용 매개 변수에 대한 확장 된 ASCII 문자를 사용하는 방법에

Pls는 조언 .. 사전에

덕분에

답변

0

COPY documentation page 때주의 사항 제안이 대량로드에 대한 (귀하의 경우처럼), json2sstable 유틸리티를 사용해야합니다. 그런 다음 sstableloader을 사용하여 클러스터에 sstables를로드 할 수 있습니다. 따라서 CSV를 JSON으로 변환하고 큰 CSV에이 도구를 사용하는 스크립트/프로그램을 작성하는 것이 좋습니다. JSON은 ASCII 테이블의 모든 문자를 처리하는 데 아무런 문제가 없습니다.

0

나는 비슷한 문제가있어서 cqlsh (파이썬 스크립트)의 소스 코드를 검사했다. 제 경우에는 파이썬으로 csv를 생성 했으므로 올바른 파이썬 csv 매개 변수를 찾는 문제였습니다.

writer = csv.writer(open("output.csv", 'w'), **csv_dialect_defaults) 
: 그래서

csv_dialect_defaults = dict(delimiter=',', doublequote=False, 
          escapechar='\\', quotechar='"') 

당신이 파이썬에서 .csv 파일을 생성 할 수있을만큼 운이 좋다면, 그것은으로 CSV 모듈을 사용하여 단지 문제 :

여기 cqlsh에서 키 정보입니다

파이썬을 사용하지 않더라도 도움이되기를 바랍니다.

관련 문제