2012-06-06 2 views
4

서비스로 실행되는 자바 프로그램이 있으며,이 프로그램은 cassandra 클러스터에 50k 개의 행 (1 행에는 25 개의 열이 있음)을 삽입해야합니다.카산드라 벌크 인서트 솔루션

내 클러스터에 3 개의 노드가 있고 1 노드에 4 개의 CPU 코어 (코어 i5 2.4GHz), 4GB RAM이 있습니다.

내가 Hector api, multithread, bulk insert를 사용했지만 성능이 예상보다 낮습니다 (약 25k 행/초).

어느 것이 든 다른 해결책을 제안합니다. cassandra가 내부 벌크 삽입물을 지원합니까 (Thrift를 사용하지 않고).

답변

1

Astyanax는 Apache Cassandra의 고급 Java 클라이언트입니다. Apache Cassandra는 고 가용성 열 지향 데이터베이스입니다. Astyanax는 현재 Netflix에서 사용되고 있습니다. 일반적으로 문제는 가능한 빨리 수정되고 릴리스는 자주 수행됩니다.

https://github.com/Netflix/astyanax

1

나는 행운 sstables을 만들고 직접로드를 했어. 배포본에는 sstableloader도구가 포함되어 있으며 JMX 인터페이스도 있습니다. SSTableSimpleUnsortedWriter 클래스를 사용하여 sstables를 만들 수 있습니다.

세부 사항 here.

+0

나를 도와 주셔서 감사합니다! 나는 그것을 지금 시험해 볼 것이다 : D : D –

1

카산드라에 데이터를 일괄 삽입하는 가장 빠른 방법은 0.830 이후에 카산드라가 제공 한 유틸리티 인 sstableloader입니다. 이를 위해 당신이 here

또 다른 빠른 방법 설명이에 대한 SSTableSimpleUnsortedWriter 더 가능하다 첫번째 sstables을 만들어야하는 hadoop.With에 대한 Cassandras BulkoutputFormat입니다이 우리는 더 많은에 cassandra.See에 데이터를로드 할 수 하둡 작업을 쓸 수 있습니다 이 bulkload to cassandra with hadoo

+0

도와 줘서 고마워 !! 나는 지금 그것을 시도 할 것이다 : D : D –