Die Funktion ML.HASH_BUCKETIZE

In diesem Dokument wird die Funktion ML.HASH_BUCKETIZE beschrieben, mit der Sie einen Stringausdruck in einen deterministischen Hash konvertieren und diesen dann anhand des Modulo-Werts dieses Hashs in Buckets aufteilen können.

Syntax

ML.HASH_BUCKETIZE(string_expression, hash_bucket_size)

Argumente

ML.HASH_BUCKETIZE verwendet die folgenden Argumente:

  • string_expression: der in Buckets aufzuteilende STRING-Ausdruck.
  • hash_bucket_size: ein INT64-Wert, der die Anzahl der zu erstellenden Buckets angibt. Dieser Wert muss größer oder gleich 0 sein. Wenn hash_bucket_size gleich 0 ist, hasht die Funktion nur den String, ohne den Hashwert zu kategorisieren.

Ausgabe

ML.HASH_BUCKETIZE gibt einen INT64-Wert zurück, der den Bucket angibt.

Beispiel

Im folgenden Beispiel werden Stringausdrücke in drei Buckets unterteilt:

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

Die Ausgabe sieht dann ungefähr so aus:

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

Nächste Schritte