BUCKET

bucket(numBuckets, col)

功能

根据指定的桶数量和列值计算哈希桶编号。该函数使用哈希函数将输入值映射到 [0, numBuckets) 范围内的整数,常用于数据分区和分布式计算场景。

参数

  • numBuckets: int 类型,桶的数量,必须大于 0
  • col: 任意类型,待计算哈希桶的列值

返回结果

  • int 类型
  • 返回值范围为 [0, numBuckets)
  • 如果输入值为 NULL,则返回 NULL

举例

-- 将数据分配到 10 个桶中
> SELECT bucket(10, 'test');
4

> SELECT bucket(10, 123);
4

说明

  • BUCKET 函数使用哈希算法确保相同的输入值总是映射到相同的桶
  • 常用于数据分区、采样和负载均衡等场景
  • 返回的桶编号从 0 开始,最大值为 numBuckets - 1
  • 不同类型的相同值(如整数 1 和字符串 '1')可能会映射到不同的桶
  • 该函数是确定性的,相同的输入总是产生相同的输出。

联系我们
预约咨询
微信咨询
电话咨询