Le hachage de NULL est NULL. Pour obtenir un hachage non-NULL d’une colonne Nullable, enveloppez-la dans un tuple :
Pour calculer le hachage de l’ensemble du contenu d’une table, utilisez
sum(cityHash64(tuple(*))) (ou une autre fonction de hachage). tuple garantit que les lignes contenant des valeurs NULL ne sont pas ignorées. sum garantit que l’ordre des lignes n’a pas d’importance.BLAKE3
Introduit dans : v22.10.0 Calcule le hachage BLAKE3 d’une chaîne et renvoie les octets obtenus sous forme de FixedString. Cette fonction de hachage cryptographique est intégrée à ClickHouse via la bibliothèque Rust BLAKE3. La fonction est relativement rapide et offre des performances environ deux fois supérieures à celles de SHA-2, tout en générant des hachages de la même longueur que SHA-256. Elle renvoie un hachage BLAKE3 sous forme de tableau d’octets de type FixedString(32). Syntaxemessage— La chaîne d’entrée à hacher.String
FixedString(32)
Exemples
hash
Query
Response
MD4
Introduit dans : v21.11.0 Calcule le hachage MD4 de la chaîne spécifiée. Syntaxes— La chaîne d’entrée à hacher.String
FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
MD5
Disponible depuis : v1.1.0 Calcule le hachage MD5 de la chaîne fournie. Syntaxes— La chaîne d’entrée à hacher.String
FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
RIPEMD160
Introduit dans : v24.10.0 Calcule le hachage RIPEMD-160 de la chaîne fournie. Syntaxes— La chaîne d’entrée à hacher.String
FixedString(20)
Exemples
Exemple d’utilisation
Query
Response
SHA1
Introduit dans : v1.1.0 Calcule le hachage SHA1 de la chaîne fournie. Syntaxes— La chaîne d’entrée à hacherString
FixedString(20)
Exemples
Exemple d’utilisation
Query
Response
SHA224
Introduit dans : v1.1.0 Calcule le hachage SHA224 de la chaîne donnée. Syntaxes— La valeur d’entrée à hacher.String
FixedString(28)
Exemples
Exemple d’utilisation
Query
Response
SHA256
Introduit dans : v1.1.0 Calcule le hachage SHA256 de la chaîne donnée. Syntaxes— La chaîne d’entrée à hacher.String
FixedString(32)
Exemples
Exemple d’utilisation
Query
Response
SHA384
Introduit dans : v1.1.0 Calcule le hachage SHA384 de la chaîne donnée. Syntaxes— La chaîne d’entrée à hacher.String
FixedString(48)
Exemples
Exemple d’utilisation
Query
Response
SHA512
Introduit dans : v1.1.0 Calcule le hachage SHA512 de la chaîne fournie. Syntaxes— La chaîne d’entrée à hacherString
FixedString(64)
Exemples
Exemple d’utilisation
Query
Response
SHA512_256
Introduit dans : v1.1.0 Calcule le hachage SHA512_256 de la chaîne spécifiée. Syntaxes— La chaîne d’entrée à hacher.String
FixedString(32)
Exemples
Exemple d’utilisation
Query
Response
URLHash
Introduit dans : v1.1.0 Une fonction de hachage non cryptographique rapide et de bonne qualité pour une chaîne dérivée d’une URL au moyen d’un certain type de normalisation. Cette fonction de hachage comporte deux modes :
Syntaxe
url. UInt64
Exemples
Exemple d’utilisation
Query
Response
Query
Response
cityHash64
Introduit dans : v1.1.0 Produit une valeur de hachage CityHash sur 64 bits. Il s’agit d’une fonction de hachage rapide non cryptographique. Elle utilise l’algorithme CityHash pour les paramètres de type chaîne, et une fonction de hachage rapide non cryptographique propre à l’implémentation pour les paramètres d’autres types de données. La fonction utilise le combinator CityHash pour obtenir les résultats finaux.Google a modifié l’algorithme de CityHash après son ajout à ClickHouse.
Autrement dit, cityHash64 de ClickHouse et le CityHash upstream de Google produisent désormais des résultats différents.
Le cityHash64 de ClickHouse correspond à CityHash v1.0.2.
Les valeurs de hachage calculées peuvent être identiques pour les mêmes valeurs d’entrée avec des types d’argument différents.
Cela concerne par exemple des types entiers de tailles différentes, des
Tuple nommés et non nommés contenant les mêmes données, Map et le type Array(Tuple(key, value)) correspondant contenant les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée dont le hachage doit être calculé.Any
UInt64
Exemples
Exemple d’appel
Query
Response
Query
Response
farmFingerprint64
Introduit dans : v20.12.0 Produit une valeur FarmHash sur 64 bits à l’aide de la méthodeFingerprint64.
Les valeurs de hachage calculées peuvent être identiques pour les mêmes valeurs d’entrée avec des types d’arguments différents.
Cela concerne par exemple des types entiers de tailles différentes, des
Tuple nommés et non nommés contenant les mêmes données, ainsi que Map et le type correspondant Array(Tuple(key, value)) contenant les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée dont le hachage doit être calculé.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
farmHash64
Introduit dans : v1.1.0 Produit un FarmHash 64 bits à l’aide de la méthodeHash64.
Les valeurs de hachage calculées peuvent être identiques pour les mêmes valeurs d’entrée avec des types d’argument différents.
Cela concerne par exemple les types entiers de tailles différentes, les
Tuple nommés et non nommés contenant les mêmes données, ainsi que Map et le type Array(Tuple(key, value)) correspondant contenant les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée dont le hachage doit être calculé.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
gccMurmurHash
Introduit dans : v20.1.0 Calcule le hachage MurmurHash2 sur 64 bits de la valeur d’entrée en utilisant la même graine que GCC. Il est portable entre les builds de Clang et de GCC. Syntaxearg1[, arg2, ...]— Un nombre variable d’arguments dont le hachage doit être calculé.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
halfMD5
Introduit dans : v1.1.0 Interprète tous les paramètres d’entrée comme des chaînes de caractères et calcule la valeur de hachage MD5 pour chacun d’eux. Combine ensuite les hachages, prend les 8 premiers octets du hachage de la chaîne résultante et les interprète comme un UInt64 en ordre des octets big-endian. La fonction est relativement lente (5 millions de chaînes courtes par seconde et par cœur de processeur). Envisagez plutôt d’utiliser la fonctionsipHash64.
La fonction accepte un nombre variable de paramètres d’entrée.
Les arguments peuvent être de n’importe quel type de données pris en charge.
Pour certains types de données, la valeur calculée de la fonction de hachage peut être identique pour des valeurs identiques même si les types des arguments diffèrent (entiers de tailles différentes, Tuple nommé et non nommé avec les mêmes données, Map et le type Array(Tuple(key, value)) correspondant avec les mêmes données).
Syntaxe
arg1[, arg2, ..., argN]— Nombre variable d’arguments pour lesquels calculer le hachage.Any
UInt64 en ordre d’octets big-endian. UInt64
Exemples
Exemple d’utilisation
Query
Response
hiveHash
Introduit dans : v20.1.0 Calcule un “HiveHash” à partir d’une chaîne de caractères. Il s’agit simplement deJavaHash dont les bits de signe sont mis à zéro.
Cette fonction est utilisée dans Apache Hive pour les versions antérieures à 3.0.
Syntaxe
arg— Chaîne d’entrée à hacher.String
Int32
Exemples
Exemple d’utilisation
Query
Response
icebergHash
Introduit dans : v25.5.0 Implémente la logique de la transformation de hachage d’Iceberg Syntaxevalue— Valeur source à hacher, de typeInteger,Bool,Decimal,Float*,String,FixedString,UUID,Date,TimeouDateTime
Int32
Exemples
Exemple
Query
Response
intHash32
Introduit dans : v1.1.0 Calcule le hachage 32 bits d’un entier. La fonction de hachage est relativement rapide, mais n’est pas une fonction de hachage cryptographique. Syntaxearg— Entier à hacher.(U)Int*
UInt32
Exemples
Exemple d’utilisation
Query
Response
intHash64
Introduit dans : v1.1.0 Calcule un hachage 64 bits d’un entier. La fonction de hachage est relativement rapide (même plus rapide queintHash32), mais ce n’est pas une fonction de hachage cryptographique.
Syntaxe
int— Entier à hacher.(U)Int*
UInt64
Exemples
Exemple d’utilisation
Query
Response
javaHash
Introduit dans : v20.1.0 Calcule JavaHash à partir de :Java ne prend en charge que le calcul du hachage d’entiers signés,
donc, si vous souhaitez calculer le hachage d’entiers non signés, vous devez les convertir vers les types signés ClickHouse appropriés.
arg— Valeur d’entrée à hacher.Any
arg Int32
Exemples
Exemple d’utilisation 1
Query
Response
Query
Response
javaHashUTF16LE
Introduit dans : v20.1.0 Calcule le JavaHash d’une chaîne, en supposant qu’elle contient des octets représentant une chaîne de caractères encodée en UTF-16LE. Syntaxearg— Une chaîne encodée en UTF-16LE.String
Int32
Exemples
Exemple d’utilisation
Query
Response
jumpConsistentHash
Introduit dans : v1.1.0 Calcule le jump consistent hash d’un entier. SyntaxeInt32
Exemples
Exemple d’utilisation
Query
Response
kafkaMurmurHash
Introduite dans : v23.4.0 Calcule le hachage MurmurHash2 sur 32 bits de la valeur d’entrée, en utilisant la même seed que Kafka et sans le bit de poids fort, afin d’être compatible avec Default Partitioner. Syntaxearg1[, arg2, ...]— Un nombre variable de paramètres dont il faut calculer le hachage.Any
UInt32
Exemples
Exemple d’utilisation
Query
Response
keccak256
Introduit dans : v25.4.0 Calcule le hachage cryptographique Keccak-256 de la chaîne donnée. Cette fonction de hachage est largement utilisée dans les applications de blockchain, en particulier sur Ethereum. Syntaxemessage— La chaîne d’entrée à hacher.String
FixedString(32)
Exemples
Exemple d’utilisation
Query
Response
kostikConsistentHash
Introduit dans : v22.6.0 Un algorithme de hachage cohérent de Konstantin ‘Kostik’ Oblakov, en temps et espace O(1). Efficace uniquement pourn <= 32768.
Syntaxe
yandexConsistentHash
Arguments
Valeur renvoyée
Renvoie la valeur de hachage calculée. UInt16
Exemples
Exemple d’utilisation
Query
Response
metroHash64
Introduit dans : v1.1.0 Produit une valeur de hachage MetroHash de 64 bits.Les valeurs de hachage calculées peuvent être identiques pour les mêmes valeurs d’entrée de types d’arguments différents.
Cela concerne, par exemple, des types entiers de tailles différentes, des
Tuple nommés et non nommés contenant les mêmes données, ainsi que Map et le type Array(Tuple(key, value)) correspondant contenant les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée dont le hachage doit être calculé.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
murmurHash2_32
Introduit dans : v18.5.0 Calcule le hachage MurmurHash2 de la valeur d’entrée.Les valeurs de hachage calculées peuvent être identiques pour des valeurs d’entrée identiques mais de types d’argument différents.
Cela concerne par exemple les types entiers de tailles différentes, les
Tuple nommés et non nommés contenant les mêmes données, ainsi que Map et le type Array(Tuple(key, value)) correspondant contenant les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée pour lesquels calculer le hachage.Any
UInt32
Exemples
Exemple d’utilisation
Query
Response
murmurHash2_64
Introduit dans : v18.10.0 Calcule le hachage MurmurHash2 de la valeur d’entrée.Les valeurs de hachage calculées peuvent être identiques pour les mêmes valeurs d’entrée, même si les types d’arguments diffèrent.
Cela concerne par exemple les types entiers de tailles différentes, les
Tuple nommés et non nommés contenant les mêmes données, ainsi que Map et le type Array(Tuple(key, value)) correspondant contenant les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée à partir desquels calculer le hachage.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
murmurHash3_128
Introduit dans : v18.10.0 Calcule le hachage MurmurHash3 sur 128 bits de la valeur d’entrée. Syntaxearg1[, arg2, ...]— Un nombre variable d’arguments d’entrée sur lesquels calculer le hachage.Any
MurmurHash3 128 bits calculée à partir des arguments d’entrée. FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
murmurHash3_32
Introduit dans : v18.10.0 Produit une valeur de hachage MurmurHash3.Les valeurs de hachage calculées peuvent être identiques pour les mêmes valeurs d’entrée avec des types d’argument différents.
Cela concerne par exemple des types entiers de tailles différentes, des
Tuple nommés et non nommés avec les mêmes données, ainsi que Map et le type Array(Tuple(key, value)) correspondant avec les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée dont le hachage doit être calculé.Any
UInt32
Exemples
Exemple d’utilisation
Query
Response
murmurHash3_64
Introduit dans : v18.10.0 Calcule le hachage MurmurHash3 de la valeur d’entrée.Les valeurs de hachage calculées peuvent être identiques pour les mêmes valeurs d’entrée de types d’argument différents.
Cela concerne, par exemple, des types entiers de tailles différentes, des
Tuple nommés et non nommés contenant les mêmes données, ainsi que Map et le type Array(Tuple(key, value)) correspondant contenant les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée pour lesquels calculer le hachage.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
ngramMinHash
Introduit dans : v21.1.0 Divise une chaîne ASCII en n-grammes dengramsize symboles, calcule des valeurs de hachage pour chaque n-gramme et renvoie un tuple contenant ces hachages.
Utilise les hashnum hachages minimum pour calculer le hachage minimum et les hashnum hachages maximum pour calculer le hachage maximum.
Cette fonction est sensible à la casse.
Peut être utilisé pour détecter des chaînes quasi dupliquées avec tupleHammingDistance.
Pour deux chaînes, si les hachages renvoyés sont identiques pour les deux chaînes, alors ces chaînes sont identiques.
Syntaxe
string— Chaîne dont il faut calculer le hachage.Stringngramsize— Facultatif. La taille d’un n-gram, toute valeur comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimum et maximum utilisés pour calculer le résultat, toute valeur comprise entre1et25. La valeur par défaut est6.UInt8
Tuple
Exemples
Exemple d’utilisation
Query
Response
ngramMinHashArg
Introduit dans : v21.1.0 Découpe une chaîne ASCII en n-grammes dengramsize symboles et renvoie les n-grammes ayant les hachages minimum et maximum, calculés par la fonction ngramMinHash sur la même entrée.
Cette fonction est sensible à la casse.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringngramsize— Facultatif. La taille d’un n-gramme, comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimum et maximum utilisés pour calculer le résultat, compris entre1et25. La valeur par défaut est6.UInt8
hashnum n-grammes chacun. Tuple(String)
Exemples
Exemple d’utilisation
Query
Response
ngramMinHashArgCaseInsensitive
Introduit dans : v21.1.0 Divise une chaîne ASCII en n-grammes dengramsize symboles et renvoie les n-grammes ayant les valeurs de hachage minimale et maximale, calculées par la fonction ngramMinHashCaseInsensitive appliquée à la même entrée.
Ne tient pas compte de la casse.
Syntaxe
string— Chaîne dont il faut calculer le hachage.Stringngramsize— Facultatif. La taille d’un n-gramme, sous la forme d’une valeur comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimum et maximum utilisés pour calculer le résultat, sous la forme d’une valeur comprise entre1et25. La valeur par défaut est6.UInt8
hashnum n-grammes chacun. Tuple(Tuple(String))
Exemples
Exemple d’utilisation
Query
Response
ngramMinHashArgCaseInsensitiveUTF8
Introduit dans : v21.1.0 Découpe une chaîne UTF-8 en n-grammes dengramsize symboles et renvoie les n-grammes dont les valeurs de hachage sont minimale et maximale, calculées par la fonction ngramMinHashCaseInsensitiveUTF8 avec la même entrée.
Cette fonction est insensible à la casse.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringngramsize— Facultatif. La taille d’un n-gramme, toute valeur comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimum et maximum utilisés pour calculer le résultat, toute valeur comprise entre1et25. La valeur par défaut est6.UInt8
hashnum n-grammes chacun. Tuple(Tuple(String))
Exemples
Exemple d’utilisation
Query
Response
ngramMinHashArgUTF8
Introduit dans : v21.1.0 Découpe une chaîne UTF-8 en n-grammes dengramsize symboles et renvoie les n-grammes dont les hachages sont minimum et maximum, tels que calculés par la fonction ngramMinHashUTF8 avec la même entrée.
Cette fonction est sensible à la casse.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringngramsize— Facultatif. La taille d’un n-gramme, n’importe quel nombre de1à25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimum et maximum utilisés pour calculer le résultat, n’importe quel nombre de1à25. La valeur par défaut est6.UInt8
hashnum n-grammes chacun. Tuple(Tuple(String))
Exemples
Exemple d’utilisation
Query
Response
ngramMinHashCaseInsensitive
Introduit dans : v21.1.0 Découpe une chaîne ASCII en n-grammes dengramsize symboles, calcule une valeur de hachage pour chaque n-gramme et renvoie un tuple contenant ces hachages.
Utilise hashnum hachages minimaux pour calculer le hachage minimal et hashnum hachages maximaux pour calculer le hachage maximal.
Est insensible à la casse.
Peut être utilisé pour détecter des chaînes semi-dupliquées avec tupleHammingDistance.
Pour deux chaînes, si les hachages renvoyés sont identiques pour les deux chaînes, alors ces chaînes sont identiques.
Syntaxe
string— String. String. -ngramsize— La taille d’un n-gramme. Facultatif. Valeurs possibles : tout nombre compris entre1et25. Valeur par défaut :3. UInt8. -hashnum— Le nombre de hachages minimum et maximum utilisés pour calculer le résultat. Facultatif. Valeurs possibles : tout nombre compris entre1et25. Valeur par défaut :6. UInt8.
Tuple
Exemples
Exemple d’utilisation
Query
Response
ngramMinHashCaseInsensitiveUTF8
Introduit dans : v21.1.0 Découpe une chaîne UTF-8 en n-grammes dengramsize symboles, calcule une valeur de hachage pour chaque n-gramme et renvoie un tuple contenant ces hachages.
Utilise hashnum hachages minimaux pour calculer le hachage minimal et hashnum hachages maximaux pour calculer le hachage maximal.
Cette fonction est insensible à la casse.
Peut être utilisée pour détecter des chaînes semi-dupliquées avec tupleHammingDistance.
Pour deux chaînes, si les hachages renvoyés sont identiques pour les deux chaînes, alors ces chaînes sont identiques.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringngramsize— Facultatif. Taille d’un n-gramme, toute valeur comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Nombre de hachages minimaux et maximaux utilisés pour calculer le résultat, toute valeur comprise entre1et25. La valeur par défaut est6.UInt8
Tuple
Exemples
Exemple d’utilisation
Query
Response
ngramMinHashUTF8
Introduite dans : v21.1.0 Divise une chaîne UTF-8 en n-grammes dengramsize symboles, calcule des valeurs de hachage pour chaque n-gramme et renvoie un tuple contenant ces hachages.
Utilise hashnum hachages minimaux pour calculer le hachage minimal et hashnum hachages maximaux pour calculer le hachage maximal.
La fonction est sensible à la casse.
Peut être utilisée pour détecter des chaînes semi-dupliquées avec tupleHammingDistance.
Pour deux chaînes, si les hachages renvoyés sont identiques pour les deux chaînes, alors ces chaînes sont identiques.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringngramsize— Facultatif. La taille d’un n-gram, tout nombre de1à25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimum et maximum utilisés pour calculer le résultat, tout nombre de1à25. La valeur par défaut est6.UInt8
Tuple
Exemples
Exemple d’utilisation
Query
Response
ngramSimHash
Introduit dans : v21.1.0 Découpe une chaîne ASCII en n-grammes dengramsize symboles et renvoie le simhachage des n-grammes.
Peut être utilisée pour détecter des chaînes semi-dupliquées avec bitHammingDistance.
Plus la distance de Hamming entre les simhachages calculés de deux chaînes est faible, plus il est probable que ces chaînes soient identiques.
Syntaxe
string— Chaîne pour laquelle calculer lesimhachagesensible à la casse.Stringngramsize— Facultatif. Taille d’un n-gramme, comprise entre1et25. La valeur par défaut est3.UInt8
UInt64
Exemples
Exemple d’utilisation
Query
Response
ngramSimHashCaseInsensitive
Introduit dans : v21.1.0 Divise une chaîne ASCII en n-grammes dengramsize symboles et renvoie le simhash des n-grammes.
Ne tient pas compte de la casse.
Peut être utilisé pour détecter des chaînes semi-dupliquées avec bitHammingDistance.
Plus la distance de Hamming entre les simhashes calculés de deux chaînes est faible, plus il est probable que ces chaînes soient identiques.
Syntaxe
string— Chaîne pour laquelle calculer lesimhashinsensible à la casse.Stringngramsize— Facultatif. Taille d’un n-gramme, comprise entre1et25. La valeur par défaut est3.UInt8
UInt64
Exemples
Exemple d’utilisation
Query
Response
ngramSimHashCaseInsensitiveUTF8
Introduit dans : v21.1.0 Découpe une chaîne UTF-8 en n-grams dengramsize symboles et renvoie le simhachage des n-grams.
Il est insensible à la casse.
Peut être utilisé pour détecter des chaînes semi-dupliquées avec bitHammingDistance. Plus la distance de Hamming entre les simhachages calculés de deux chaînes est faible, plus il est probable que ces chaînes soient identiques.
Syntaxe
string— Chaîne dont il faut calculer le hachage.Stringngramsize— Facultatif. Taille d’un n-gramme, nombre compris entre1et25. La valeur par défaut est3.UInt8
UInt64
Exemples
Exemple d’utilisation
Query
Response
ngramSimHashUTF8
Introduit dans : v21.1.0 Découpe une chaîne encodée en UTF-8 en n-grammes dengramsize symboles et renvoie le simhachage du n-gramme.
Cette fonction est sensible à la casse.
Peut être utilisée pour détecter des chaînes semi-dupliquées avec bitHammingDistance.
Plus la distance de Hamming entre les simhachages calculés de deux chaînes est faible, plus il est probable que ces chaînes soient identiques.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringngramsize— Facultatif. Taille d’un n-gramme, comprise entre1et25. La valeur par défaut est3.UInt8
UInt64
Exemples
Exemple d’utilisation
Query
Response
sipHash128
Introduit dans : v1.1.0 CommesipHash64, mais produit une valeur de hachage sur 128 bits, c.-à-d. que l’état final de réduction par xor est calculé jusqu’à 128 bits.
Syntaxe
arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée dont le hachage doit être calculé.Any
SipHash sur 128 bits. FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
sipHash128Keyed
Introduit dans : v23.2.0 Identique àsipHash128, mais accepte en plus un argument de clé explicite au lieu d’utiliser une clé fixe.
Syntaxe
(k0, k1)— Un tuple de deux valeurs UInt64 représentant la clé.Tuple(UInt64, UInt64)arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée dont le hachage doit être calculé.Any
SipHash sur 128 bits, de type FixedString(16). FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
sipHash128Reference
Introduit dans : v23.2.0 Semblable àsipHash128, mais implémente l’algorithme 128 bits des auteurs originels de SipHash.
Syntaxe
arg1[, arg2, ...]— Un nombre variable d’arguments d’entrée dont le hachage doit être calculé.Any
SipHash 128 bits calculée à partir des arguments d’entrée. FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
sipHash128ReferenceKeyed
Introduite dans : v23.2.0 Identique àsipHash128Reference, mais prend en plus un argument de clé explicite au lieu d’utiliser une clé fixe.
Syntaxe
(k0, k1)— Tuple de deux valeurs représentant la cléTuple(UInt64, UInt64)arg1[, arg2, ...]— Nombre variable d’arguments d’entrée pour lesquels calculer le hachage.Any
SipHash calculée de 128 bits des arguments d’entrée. FixedString(16)
Exemples
Exemple d’utilisation
Query
Response
sipHash64
Introduit dans : v1.1.0 Produit une valeur de hachage SipHash de 64 bits. Il s’agit d’une fonction de hachage cryptographique. Elle est au moins trois fois plus rapide que la fonction de hachageMD5.
La fonction interprète tous les paramètres d’entrée comme des chaînes de caractères et calcule la valeur de hachage de chacun d’eux.
Elle combine ensuite ces hachages selon l’algorithme suivant :
- La première et la deuxième valeur de hachage sont concaténées dans un tableau, qui est ensuite haché.
- La valeur de hachage calculée précédemment et le hachage du troisième paramètre d’entrée sont hachés de la même manière.
- Ce calcul est répété pour toutes les autres valeurs de hachage de l’entrée d’origine.
les valeurs de hachage calculées peuvent être identiques pour les mêmes valeurs d’entrée avec des types d’argument différents.
Cela concerne par exemple les types entiers de tailles différentes, les
Tuple nommés et non nommés contenant les mêmes données, Map et le type Array(Tuple(key, value)) correspondant contenant les mêmes données.arg1[, arg2, ...]— Un nombre variable d’arguments en entrée.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
sipHash64Keyed
Introduit dans : v23.2.0 CommesipHash64, mais avec un argument de clé explicite au lieu d’utiliser une clé fixe.
Syntaxe
(k0, k1)— Un tuple de deux valeurs représentant la clé.Tuple(UInt64, UInt64)arg1[,arg2, ...]— Un nombre variable d’arguments d’entrée.Any
UInt64
Exemples
Exemple d’utilisation
Query
Response
wordShingleMinHash
Introduit dans : v21.1.0 Découpe une chaîne ASCII en segments (shingles) de shinglesize mots, calcule les valeurs de hachage pour chaque shingle de mots et renvoie un tuple contenant ces hachages.
Utilise les hashnum hachages minimum pour calculer le hachage minimum et les hashnum hachages maximum pour calculer le hachage maximum.
La fonction est sensible à la casse.
Peut être utilisé pour détecter des chaînes semi-dupliquées avec tupleHammingDistance.
Pour deux chaînes, si les hachages renvoyés sont identiques pour les deux chaînes, alors ces chaînes sont identiques.
Syntaxe
string— Chaîne dont le hachage doit être calculé.Stringshinglesize— Facultatif. La taille d’un shingle de mots, toute valeur comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimaux et maximaux utilisés pour calculer le résultat, toute valeur comprise entre1et25. La valeur par défaut est6.UInt8
Tuple(UInt64, UInt64)
Exemples
Exemple d’utilisation
Query
Response
wordShingleMinHashArg
Introduit dans : v1.1.0 Divise une chaîne ASCII en segments (shingles) de shinglesize mots chacun et renvoie les shingles dont les hachages de mots sont minimaux et maximaux, tels qu’ils sont calculés par la fonction wordShingleMinHash avec la même entrée.
Elle est sensible à la casse.
Syntaxe
string— Chaîne dont le hachage doit être calculé.Stringshinglesize— Facultatif. Taille d’un shingle de mots, comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Nombre de hachages minimum et maximum utilisés pour calculer le résultat, compris entre1et25. La valeur par défaut est6.UInt8
hashnum shingles de mots. Tuple(Tuple(String))
Exemples
Exemple d’utilisation
Query
Response
wordShingleMinHashArgCaseInsensitive
Introduit dans : v21.1.0 Découpe une chaîne ASCII en groupes (shingles) deshinglesize mots chacun et renvoie les shingles dont les hachages de mots sont minimaux et maximaux, tels que calculés par la fonction wordShingleMinHashCaseInsensitive avec la même entrée.
Est insensible à la casse.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringshinglesize— Facultatif. Taille d’un shingle de mots, toute valeur comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Nombre de hachages minimum et maximum utilisés pour calculer le résultat, toute valeur comprise entre1et25. La valeur par défaut est6.UInt8
hashnum shingles de mots. Tuple(Tuple(String))
Exemples
Exemple d’utilisation
Query
Response
wordShingleMinHashArgCaseInsensitiveUTF8
Introduit dans : v21.1.0 Découpe une chaîne UTF-8 enshingles de shinglesize mots chacun et renvoie les shingles dont les hachages de mots sont minimum et maximum, calculés par la fonction wordShingleMinHashCaseInsensitiveUTF8 sur la même entrée.
Elle est insensible à la casse.
Syntaxe
string— Chaîne dont il faut calculer le hachage.Stringshinglesize— Facultatif. La taille d’un shingle de mots, toute valeur comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimum et maximum utilisés pour calculer le résultat, toute valeur comprise entre1et25. La valeur par défaut est6.UInt8
hashnum shingles de mots chacun. Tuple(Tuple(String))
Exemples
Exemple d’utilisation
Query
Response
wordShingleMinHashArgUTF8
Introduite dans : v21.1.0 Divise une chaîne UTF-8 en shingles deshinglesize mots chacun et renvoie les shingles dont les hachages de mots sont minimum et maximum, tels que calculés par la fonction wordShingleMinHashUTF8 pour la même entrée.
La fonction est sensible à la casse.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringshinglesize— Facultatif. Taille d’un shingle de mots, comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Nombre de hachages minimum et maximum utilisés pour calculer le résultat, compris entre1et25. La valeur par défaut est6.UInt8
hashnum shingles de mots chacun. Tuple(Tuple(String))
Exemples
Exemple d’utilisation
Query
Response
wordShingleMinHashCaseInsensitive
Introduit dans : v21.1.0 Scinde une chaîne ASCII en parties (shingles) deshinglesize mots, calcule les valeurs de hachage de chaque shingle de mots et renvoie un tuple contenant ces hachages.
Utilise les hashnum hachages minimum pour calculer le hachage minimum et les hashnum hachages maximum pour calculer le hachage maximum.
Il est insensible à la casse.
Peut être utilisé pour détecter des chaînes semi-dupliquées avec tupleHammingDistance.
Pour deux chaînes, si les hachages renvoyés sont identiques pour les deux chaînes, alors ces chaînes sont identiques.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringshinglesize— Facultatif. La taille d’un groupe de mots contigus, avec une valeur comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimaux et maximaux utilisés pour calculer le résultat, avec une valeur comprise entre1et25. La valeur par défaut est6.UInt8
Tuple(UInt64, UInt64)
Exemples
Exemple d’utilisation
Query
Response
wordShingleMinHashCaseInsensitiveUTF8
Introduit dans : v21.1.0 Découpe une chaîne UTF-8 en segments (shingles) de shinglesize mots, calcule les valeurs de hachage pour chaque word shingle et renvoie un tuple contenant ces hachages.
Utilise les hashnum hachages minimum pour calculer le hachage minimum et les hashnum hachages maximum pour calculer le hachage maximum.
Est insensible à la casse.
Peut être utilisé pour détecter des chaînes semi-dupliquées avec tupleHammingDistance.
Pour deux chaînes, si les hachages renvoyés sont identiques pour les deux chaînes, alors ces chaînes sont identiques.
Syntaxe
string— Chaîne dont le hachage doit être calculé.Stringshinglesize— Facultatif. La taille d’un shingle de mots, tout nombre compris entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimaux et maximaux utilisés pour calculer le résultat, tout nombre compris entre1et25. La valeur par défaut est6.UInt8
Tuple(UInt64, UInt64)
Exemples
Exemple d’utilisation
Query
Response
wordShingleMinHashUTF8
Introduit dans : v21.1.0 Découpe une chaîne UTF-8 en groupes (shingles) de shinglesize mots, calcule les valeurs de hachage pour chaque groupe de mots et renvoie un tuple contenant ces hachages.
Utilise hashnum hachages minimaux pour calculer le hachage minimal et hashnum hachages maximaux pour calculer le hachage maximal.
La fonction est sensible à la casse.
Peut être utilisée pour détecter des chaînes semi-dupliquées avec tupleHammingDistance.
Pour deux chaînes, si les hachages renvoyés sont les mêmes pour les deux chaînes, alors ces chaînes sont identiques.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringshinglesize— Facultatif. La taille d’unshingle de mots, comprise entre1et25. La valeur par défaut est3.UInt8hashnum— Facultatif. Le nombre de hachages minimum et maximum utilisés pour calculer le résultat, compris entre1et25. La valeur par défaut est6.UInt8
Tuple(UInt64, UInt64)
Exemples
Exemple d’utilisation
Query
Response
wordShingleSimHash
Introduit dans : v21.1.0 Découpe une chaîne ASCII en groupes deshinglesize mots (shingles) et renvoie le simhash du shingle de mots.
Cette fonction est sensible à la casse.
Peut être utilisé pour détecter des chaînes semi-dupliquées avec bitHammingDistance.
Plus la distance de Hamming entre les simhashes calculés de deux chaînes est faible, plus il est probable que ces chaînes soient identiques.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringshinglesize— Facultatif. Taille d’un groupe contigu de mots, comprise entre1et25. La valeur par défaut est3.UInt8
UInt64
Exemples
Exemple d’utilisation
Query
Response
wordShingleSimHashCaseInsensitive
Introduit dans : v21.1.0 Divise une chaîne ASCII en segments (shingles) deshinglesize mots et renvoie le simhash du shingle de mots.
Est insensible à la casse.
Peut être utilisé pour détecter des chaînes quasi dupliquées avec bitHammingDistance.
Plus la distance de Hamming entre les simhash calculés de deux chaînes est faible, plus ces chaînes ont de chances d’être identiques.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringshinglesize— Facultatif. Taille d’un shingle de mots, nombre compris entre1et25. La valeur par défaut est3.UInt8
UInt64
Exemples
Exemple d’utilisation
Query
Response
wordShingleSimHashCaseInsensitiveUTF8
Introduit dans : v1.1.0 Découpe une chaîne codée en UTF-8 en groupes (shingles) deshinglesize mots et renvoie le simhash du shingle de mots.
Est insensible à la casse.
Peut être utilisée pour détecter des chaînes quasi dupliquées avec bitHammingDistance.
Plus la distance de Hamming entre les simhashes calculés pour deux chaînes est faible, plus il est probable que ces chaînes soient identiques.
Syntaxe
string— Chaîne pour laquelle calculer le hachage.Stringshinglesize— Facultatif. Taille d’un shingle de mots, comprise entre1et25. La valeur par défaut est3.UInt8
UInt64
Exemples
Exemple d’utilisation
Query
Response
wordShingleSimHashUTF8
Introduit dans : v21.1.0 Divise une chaîne UTF-8 en groupes (shingles) deshinglesize mots et renvoie le simhash des shingles de mots.
Il est sensible à la casse.
Peut être utilisé pour détecter des chaînes quasi dupliquées avec bitHammingDistance.
Plus la distance de Hamming entre les simhashes calculés de deux chaînes est faible, plus il est probable que ces chaînes soient identiques.
Syntaxe
string— Chaîne dont il faut calculer le hachage.Stringshinglesize— Facultatif. Taille d’un shingle de mots, toute valeur comprise entre1et25. La valeur par défaut est3.UInt8
UInt64
Exemples
Exemple d’utilisation
Query
Response
wyHash64
Introduit dans : v22.7.0 Calcule une valeur de hachage 64 bits wyHash64. Syntaxearg— argument de type String dont la valeur de hachage doit être calculée.String
UInt64
Exemples
Exemple d’utilisation
Query
Response
xxHash32
Introduit dans : v20.1.0 Calcule un xxHash à partir d’une chaîne de caractères. Pour la version 64 bits, voirxxHash64
Syntaxe
arg— Chaîne à hacher.String
UInt32
Exemples
Exemple d’utilisation
Query
Response
xxHash64
Introduit dans : v20.1.0 Calcule un xxHash à partir d’une chaîne de caractères. Pour la version 32 bits, voirxxHash32
Syntaxe
arg— Chaîne d’entrée à hacher.String
UInt64
Exemples
Exemple d’utilisation
Query
Response
xxHash64Spark
Introduit dans : v26.7.0 Calcule un xxHash à partir d’une chaîne de caractères avec la même seed que Spark. Cette fonction est identique àxxHash64, mais elle utilise la seed 42 et renvoie le résultat au format Int64.
Seules les entrées String et NULL sont prises en charge.
Pour NULL, la fonction renvoie 42, conformément au comportement de Spark pour la seed.
Syntaxe
arg— Chaîne d’entrée à hacher.String
Int64
Exemples
Exemple d’utilisation
Query
Response
xxh3
Introduit dans : v22.12.0 Calcule une valeur de hachage XXH3 sur 64 bits. Syntaxeexpr— Une liste d’expressions de n’importe quel type de données.Any
xxh3 sur 64 bits calculée UInt64
Exemples
Exemple d’utilisation
Query
Response
xxh3_128
Introduit dans : v26.2.0 Calcule une valeur de hachage XXH3 sur 128 bits. Syntaxeexpr— Une liste d’expressions de n’importe quel type de données.Any
xxh3 calculée sur 128 bits UInt128
Exemples
Exemple d’utilisation
Query
Response