Passer au contenu principal
ClickHouse utilise une ancienne version de CityHash de Google.
CityHash a modifié l’algorithme après son intégration dans ClickHouse.La documentation de CityHash précise explicitement que l’utilisateur ne doit pas se fier à des valeurs de hachage spécifiques, ni les enregistrer quelque part, ni les utiliser comme clé de sharding.Mais comme nous avons exposé cette fonction aux utilisateurs, nous avons dû figer la version de CityHash (à la 1.0.2). Nous garantissons désormais que le comportement des fonctions CityHash disponibles en SQL ne changera pas.— Alexey Milovidov
RemarqueLa version actuelle de CityHash de Google diffère de la variante cityHash64 de ClickHouse.N’utilisez pas farmHash64 pour obtenir la valeur de CityHash de Google ! FarmHash est le successeur de CityHash, mais ils ne sont pas entièrement compatibles.
Voir aussi Introducing CityHash pour une description et les raisons de sa création. En bref : un hachage non cryptographique plus rapide que MurmurHash, mais plus complexe.

Implémentations

Go

Vous pouvez utiliser le paquet Go go-faster/city, qui implémente les deux variantes.
Dernière modification le 2 juillet 2026