3

一般的な SQL イディオムの Cassandra/CQL のいとこをINSERT INTO ... SELECT ... FROM ...探していますが、そのような操作をプログラムまたは CQL で行う方法を見つけることができませんでした。サポートされていないだけですか?

私の使用例は、あるテーブルから別のテーブルへの適度にかさばるコピーを行うことです。特定の同時実行保証は必要ありませんが、大量のデータであるため、1 つのテーブルからデータを取得し、別のテーブルに挿入のバッチを発行するクライアントを作成することによる追加のネットワーク オーバーヘッドを回避したいと考えています。レプリケーションのセットアップに従って Cassandra クラスターのノード間で変更を転送する必要があることは理解していますが、あるテーブルから別のテーブルへの一括操作を行うための「内部」オプションが存在することは妥当と思われます。CQLとか他にそういうのある?私は現在、Hector を使用して Cassandra と会話しています。

編集:関連があるように見えますsstableloaderが、かなり一般的なユースケースであると予想されるものに対しては非常に低レベルです。あるテーブルから別のテーブルに行のサブセットを取得することも、そのフレームワークでは簡単ではないようです。

4

1 に答える 1

4

正解です。これはネイティブではサポートされていません。(別の代替手段は map/reduce ジョブです。) Cassandra の API は、バッチまたは分析クエリではなく、大規模なアプリケーションの短い要求に焦点を当てています。

于 2013-02-01T00:02:11.353 に答える