Función ML.HASH_BUCKETIZE

En este documento, se describe la función ML.HASH_BUCKETIZE, que te permite convertir una expresión de string en un hash determinista y, luego, agruparla en depósitos por el valor de módulo de ese hash.

Sintaxis

ML.HASH_BUCKETIZE(string_expression, hash_bucket_size)

Argumentos

ML.HASH_BUCKETIZE toma los siguientes argumentos:

  • string_expression: la expresión STRING para agrupar en buckets.
  • hash_bucket_size: un valor INT64 que especifica la cantidad de buckets que se crearán. Este valor debe ser mayor o igual que 0. Si hash_bucket_size es igual a 0, la función solo genera un hash de la cadena sin agrupar el valor de hash.

Salida

ML.HASH_BUCKETIZE: un valor INT64 que identifica el bucket.

Ejemplo

En el siguiente ejemplo, se agrupan las expresiones de cadenas en tres buckets:

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

El resultado es similar al siguiente:

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

¿Qué sigue?