ML.HASH_BUCKETIZE 関数

このドキュメントでは、文字列式を決定論的ハッシュに変換し、そのハッシュの剰余値でバケット化できる ML.HASH_BUCKETIZE 関数について説明します。

構文

ML.HASH_BUCKETIZE(string_expression, hash_bucket_size)

引数

ML.HASH_BUCKETIZE は次の引数を取ります。

  • string_expression: バケット化する STRING 式。
  • hash_bucket_size: 作成するバケットの数を指定する INT64 値。0 以上の値を指定してください。hash_bucket_size0 と等しい場合、関数はハッシュ値をバケット化せずに、文字列のみをハッシュ化します。

出力

ML.HASH_BUCKETIZE は、バケットを識別する INT64 値を返します。

次の例では、文字列式を 3 つのバケットにバケット化します。

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

出力は次のようになります。

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

次のステップ