Fonction ML.HASH_BUCKETIZE

Ce document décrit la fonction ML.HASH_BUCKETIZE, qui vous permet de convertir une expression de chaîne en hachage déterministe, puis de la diviser en buckets en fonction de la valeur modulo de ce hachage.

Syntaxe

ML.HASH_BUCKETIZE(string_expression, hash_bucket_size)

Arguments

ML.HASH_BUCKETIZE utilise les arguments suivants :

  • string_expression : l'expression STRING à diviser en buckets.
  • hash_bucket_size : une valeur INT64 qui spécifie le nombre de buckets à créer. Cette valeur doit être supérieure ou égale à 0. Si hash_bucket_size est égal à 0, la fonction se contente de hacher la chaîne sans diviser la valeur hachée en buckets.

Sortie

ML.HASH_BUCKETIZE renvoie une valeur INT64 qui identifie le bucket.

Exemple

L'exemple suivant divise les expressions de chaîne en trois buckets :

SELECT
  f, ML.HASH_BUCKETIZE(f, 3) AS bucket
FROM UNNEST(['a', 'b', 'c', 'd']) AS f;

La sortie ressemble à ceci :

+---+--------+
| f | bucket |
+---+--------+
| a |   0    |
+---+--------+
| b |   1    |
+---+--------+
| c |   1    |
+---+--------+
| d |   2    |
+------------+

Étapes suivantes