如何使用ByteOrderedPartitioner(BOP)强制根据自定义要求对特定键值进行分区。我想强制Cassandra根据自定义要求对数据进行分区和复制,而不引入自定义分区程序,我可以在多大程度上控制此行为以及如何控制?
总体而言:我希望以特定ID开头的数据位于预定义节点,因为我知道将从该节点大量访问数据。也像要复制到附近节点的数据一样。
答案 0 :(得分:1)
我希望以特定ID开头的数据位于预定义节点,因为我知道将从该节点大量访问数据。
看起来你在谈论数据局部性问题,这在类似bigdata的计算(Spark,Hadoop等)中非常重要。但是,一般的方法不是将数据固定到特定节点,而只是将整个计算移动到数据本身。
将数据固定到特定节点可能会导致以下问题:
将计算移动到数据对这些问题没有任何问题,但是您要选择的方法有。
答案 1 :(得分:0)
在这里找到答案...... http://www.mail-archive.com/user%40cassandra.apache.org/msg14997.html
更改cassandra.yaml文件中的设置“initial_token”我们可以将节点划分为关键范围,分区将选择将保存数据的第一次复制的节点和策略类SimpleStrategy将添加副本通过按照您希望的方式排列节点来处理节点,您可以利用复制策略。