2011-12-11 8 views
1

Java APIや他のツールを使用して、cassandra(0.7.x以降のバージョン)の列ファミリからすべての行キーをエクスポートする最も速い方法は何ですか?cassandraからキーをエクスポートする最速の方法

現在、私はJava Pelops APIを使用しており、すべてのレコードをページングしていますが、より優れたメカニズムがあるかどうかは疑問です。

私は特に列キー(列/サブ列なし)のエクスポートのみに興味があるので、できるだけ早くこれを行うために使用できるcassandraダイレクトストレージAPIのセクションがあるかどうか疑問に思っています。

答えて

1

Java クライアントの使用はどうですか? https://github.com/rantav/hector/wiki/User-Guide

RangeSlicesQuery<String, String, String> rangeSlicesQuery = 
HFactory.createRangeSlicesQuery(keyspace, stringSerializer, 
    stringSerializer, stringSerializer); 
rangeSlicesQuery.setColumnFamily("Standard1"); 
rangeSlicesQuery.setKeys("fake_key_", ""); 
rangeSlicesQuery.setReturnKeysOnly(); // use this 
rangeSlicesQuery.setRowCount(5); 
Result<OrderedRows<String, String, String>> result = rangeSlicesQuery.execute(); 
  • から採取した試料はためのAPIインタフェースです。直接ストレージにアクセスするには、バイナリでデータファイルを読み取る必要があります。上のコードは良いパフォーマンスを与えるはずです。
  • これを一度エクスポートする必要がある場合は、それは問題ありません。本番用にこれを必要とする場合は、データモデルを再検討する必要があります。何か間違っている可能性があります。
  • 多くの行をスキャンする必要がある場合は、複数のキー範囲を使用してクエリを分割する必要があります。
関連する問題