ML.BUCKETIZE 函数

本文档介绍 ML.BUCKETIZE 函数,此函数可让您将数值表达式拆分为多个分桶。

语法

ML.BUCKETIZE(numerical_expression, array_split_points [, exclude_boundaries])

参数

ML.BUCKETIZE 接受以下参数:

  • numerical_expression:要进行分桶的数值表达式。
  • array_split_points:一组数值,用于提供拆分 numerical_expression 值的点。按从低到高的顺序提供数值。分桶范围由数组的上下边界确定。例如,如果 array_split_points 值为 [1, 2, 3, 4],则 numerical_expression 值可以分为五个桶。
  • exclude_boundaries:用于确定是否使用 array_split_points 的上下边界的 BOOL 值。如果为 TRUE,则不使用边界值来创建分桶。例如,如果 array_split_points 值为 [1, 2, 3, 4] 并且 exclude_boundariesTRUE,则 numerical_expression 值可以分为三个桶。默认值为 FALSE

输出

ML.BUCKETIZE 返回包含分桶名称的 STRING 值。返回的分桶名称采用 bin_<bucket_index> 格式,其中 bucket_index1 开始。

示例

以下示例展示了使用和不使用边界对数值表达式进行分桶:

SELECT
  ML.BUCKETIZE(2.5, [1, 2, 3]) AS bucket,
  ML.BUCKETIZE(2.5, [1, 2, 3], TRUE) AS bucket_without_boundaries;

输出类似于以下内容:

+---------+----------------------------+
| bucket  | bucket_without_boundaries  |
+---------+----------------------------+
| bin_3   | bin_2                      |
+---------+----------------------------+

后续步骤