Iは、テーブルテストディスクへのフラッシュデータの後
CREATE TABLE test (
a int PRIMARY KEY,
b int
);
挿入
1行
INSERT INTO test(a,b) VALUES(1, 10);
を作成しました。 *-Filter.db
ファイルを使用することができます。私の場合のために、それはここでla-2-big-Filter.db
たサンプルコードでは、パーティション・キーが
Murmur3Partitioner partitioner = new Murmur3Partitioner();
try (DataInputStream in = new DataInputStream(new FileInputStream(new File("la-2-big-Filter.db"))); IFilter filter = FilterFactory.deserialize(in, true)) {
for (int i = 1; i <= 10; i++) {
DecoratedKey decoratedKey = partitioner.decorateKey(Int32Type.instance.decompose(i));
if (filter.isPresent(decoratedKey)) {
System.out.println(i + " is present ");
} else {
System.out.println(i + " is not present ");
}
}
}
出力が存在するかどうかを確認することです:どのように
1 is present
2 is not present
3 is not present
4 is not present
5 is not present
6 is not present
7 is not present
8 is not present
9 is not present
10 is not present
_Queried_を?私はあなたがそのブルームフィルタにアクセスする必要があると思う理由が理解できません。 –
私はサービスからcassandraへのcqlクエリを実行しています。そして、私はcassandraへの問い合わせの量を減らしたいと思います。私自身のブルームフィルタを作成する代わりに、私はcassandraに内蔵のブルームフィルタを使用したいと思います。 –
なぜカッサンドラは既にしていることをしたいのですか? 「同じ」BFを使用してクエリを事前にフィルタリングすると、システムが高速になることはありません。より速くしたい場合は、データをキャッシュする必要があります(キャッサンドラが既に行っていることとは異なる、またはそれとは別の方法で)。私見では。 – xmas79