EDSジョブでデータ重複排除を実行するための中間ストレージとしてCassandraを検討しています。Cassandraの各パーティションキーの最初の行を取得
イベントのストリームがあり、それぞれにビジネスエンティティID、タイムスタンプ、値などがあるとします。私は各ビジネス・キーのイベント・タイムスタンプの点で最新の値を取得する必要がありますが、イベントは順不同です。
私の考えは、クラスタ化キーとしてパーティションキーとタイムスタンプなどのビジネスIDを持つステージング表を作成することでした。私はこの表にいくつかのデータを挿入する場合、私はいくつかの特定のパーティションの最新の値を取得することができます今すぐ
CREATE TABLE sample_keyspace.table1_copy1 (
id uuid,
time timestamp,
value text,
PRIMARY KEY (id, time)
) WITH CLUSTERING ORDER BY (time DESC)
キー:
select * from table1 where id = 96b29b4b-b60b-4be9-9fa3-efa903511f2d limit 1;
しかし、それは私が興味のすべてのビジネスキーのために、このようなクエリを発行することが必要となる
私は何ができるいくつかの効果的な方法があります。それはCQLで?
利用可能なすべてのパーティションキー(select distinct id from table1
)を一覧表示する機能があります。ですから、私がCassandraのストレージモデルを調べると、各パーティションキーの最初の行を取得するのは難しくありません。
これはサポートされていますか?