Я пытаюсь понять, какой алгоритм использует Cassandra для генерации хешей murmur3 составных ключей разделов. Я знаю, что могу получить значение непосредственно из CQL, но я хочу воспроизвести поведение Cassandra для любого заданного кортежа непосредственно из кода Java/scala.Алгоритм хэширования Cassandra с составными ключами
Для простых ключей разделов следующая функция вычисляет правильное значение (по крайней мере, во многих случаях, я знаю, глядя на исходный код, что это не точно):
длинной L = com.google.common.hash .Hashing.Hashing.murmur3_128(). HashString ("my-string", Charset.forName ("UTF-8")). AsLong();
Что делать, если у меня есть две колонки на ключ раздела?
Хеш конкатенации двух строк не то же самое.
возможно дубликат [Murmur3 Hash Algorithm Используется в Кассандре] (http://stackoverflow.com/questions/16562427/murmur3-hash-algorithm-used-in-cassandra) – Aaron
Следуйте по ссылке на поставленный выше вопрос , и посмотрите в комментариях к ответу. – Aaron