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_size 等于 0,则函数只会对字符串进行哈希处理,而不会对哈希值进行分桶。

输出

ML.HASH_BUCKETIZE 返回标识分桶的 INT64 值。

示例

以下示例将字符串表达式划分为三个桶:

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    |
+------------+

后续步骤