La funzione ML.HASH_BUCKETIZE

Questo documento descrive la funzione ML.HASH_BUCKETIZE, che consente di convertire un'espressione stringa in un hash deterministico e quindi di bucket in base al valore modulo dell'hash in questione.

Sintassi

ML.HASH_BUCKETIZE(string_expression, hash_bucket_size)

Argomenti

ML.HASH_BUCKETIZE accetta i seguenti argomenti:

  • string_expression: l'espressione STRING per il bucketize.
  • hash_bucket_size: un valore INT64 che specifica il numero di bucket da creare. Questo valore deve essere maggiore o uguale a 0. Se hash_bucket_size è uguale a 0, la funzione esegue solo l'hashing della stringa senza bucket il valore sottoposto ad hashing.

Output

ML.HASH_BUCKETIZE restituisce un valore INT64 che identifica il bucket.

Esempio

Nell'esempio seguente, le espressioni stringa vengono raggruppate in tre bucket:

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

L'output è simile al seguente:

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

Passaggi successivi