我正在考虑一种优化子句的方法,例如(1,2,3,....)中的 id?
- 掌握 Murmur3Partitioner 散列函数
- 按产生相同散列的值分组 in-clause,例如“id in (x1, x3, ...)”,其中 x1 和 x3 具有相同的散列。
- 将该查询传递给驱动程序,驱动程序应该能够转到分区所有者节点吗?
那么,如何获取 Cassandra 的 Murmur3Partitioner 散列函数,以便计算代码中的散列值?
这个理论适用于 Cassandra 吗?
我正在考虑一种优化子句的方法,例如(1,2,3,....)中的 id?
那么,如何获取 Cassandra 的 Murmur3Partitioner 散列函数,以便计算代码中的散列值?
这个理论适用于 Cassandra 吗?
如果使用令牌感知负载平衡策略,驱动程序已经这样做了。值得注意的是,您不太可能拥有多个具有相同令牌的 id,尽管它们可能是相同的协调者。
一般来说,尝试批量处理这样的请求是个坏主意。除非你有一个不寻常的场景,否则最好只在每个场景上使用 executeAsyncid
并在所有场景上执行。它将更好地在集群中分配和并行化协调负载,并且需要更少的自定义工作。我强烈建议不要过早优化,而是专注于拥有正确的数据模型。如果您需要批量工作,请使用 spark loader/reader 或查看它以获取有效执行此操作的好例子。