2014-03-03 3 views
0

카산드라에서 대량 데이터로드가 필요한 요구 사항이 있습니다. 나는 Google 검색을 수행하여 SSTABLE 로더가 cassandra의 대량 데이터를로드하는 데 사용될 수 있음을 발견했습니다. DataStax를 사용하고 있으며 Apache Sqoop을 사용할 수 있는지 여부를 알고 싶습니다. 대량 데이터는 CSV 형식입니다. Apache SQOOp를 사용할 수 있다면 sqlo를 사용하여 CSV 형식의 대량 데이터를로드하는 방법에 대한 구문을 알려주십시오.카산드라에서 벌크로드

답변

2

Scoop은 CSV 파일이 아닌 JDBC 저장소 (관계형 데이터베이스)에서 가져 오기 용이므로 사용할 수 없습니다 그것.

파일 크기가 작 으면 (즉, 컴퓨터 한 대에 적합) CQL 쉘 COPY FROM을 사용하여 가져 오기를 고려해야합니다. 먼저 가져 오는 스키마와 일치하는 테이블을 만든 다음 (자신의 열, 파일 이름과 구분 기호 사용) CQL 쉘에서이 명령을 실행

COPY mytable(col1, col2, col3) FROM ('myfile.csv') WITH DELIMITER=',';

을 그리고 당신은 완료됩니다. 그래서 이것은 쉬운 방법입니다.

이제 SSTableLoader에 대해 들었습니다. 사용하고 싶다면 파일을 SSTable로 변환 할 사용자 정의 Java 프로그램을 작성해야합니다. 당신이 묘사 한 바에 따르면, 이것은 당신의 시나리오를위한 최선의 방법이 아닐 수도 있습니다. CSV 파일이 정말 거대한 경우에도 관련된 단계를 설명하는 here's a blog post (복잡한 연습입니다. 따라서 여기서는 반복하지 않겠습니다).

관련 문제