百分位

百分位是统计学术语,用于计算数据表列数据的百分位。一组数据从小到大排序,并计算相应数据的百分位,则某百分位所对应数据的值称为该百分位的百分位数。

背景信息

  • 系统仅支持Bigint、DoubleDatetime类型的数据计算百分位。

  • 计算百分位时,空列,默认跳过。如果全部为空列,则运行报错。

  • colName支持配置多列数据。

组件配置

您可以使用以下任意一种方式,配置百分位组件参数。

方式一:可视化方式

Designer工作流页面配置组件参数。

页签

参数

描述

参数设置

输入列

选择输入列的字段。

执行调优

核数量

节点个数。

每个核的内存大小

单个节点内存大小。

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本

PAI -name Percentile
     -project algo_public
     -DinputTableName=maple_test_percentile_3col_input
     -DcolName=col0,col1,col2 -DoutputTableName=maple_test_percentile_3col_output;

参数名称

参数描述

是否

inputTableName

输入表名。

outputTableName

输出表名。

colName

计算的列名,默认值选择所有列。

说明

多个列名之间使用英文逗号(,)分割。

inputPartitions

系统默认选择所有分区。指定输入表的分区:

  • 指定单个分区,格式为partition_name=value

  • 指定多个分区,格式为name1=value1,name2=value2

    说明

    多个分区之间用英文逗号(,)分隔。

  • 指定多级分区,格式为name1=value1/name2=value2

predictInputTableName

预测表表名,配置该项参数后即可输出预测结果。

predictInputTablePartitions

输入预测表分区。

predictSelectedColNames

预测表列名,系统默认选取全表。该列名需要与训练表中对应的列相同。

predictSelectedOriginalColNames

输入表中保持原有数据的列名,默认选择所有列,以英文逗号(,)分隔。

predictOutputTableName

输出预测表名,与predictInputTableName参数配对使用。

lifecycle

输出表的生命周期,系统默认无生命周期。

说明

仅支持输入正整数。

coreNum

节点个数,取值范围为[1, 9999]。与参数memSizePerCore配对使用。

说明

仅支持输入正整数。

memSizePerCore

单个节点内存大小,取值范围为[1024, 64*1024] ,单位MB。

说明

仅支持输入正整数。

示例

  • 输入表

    col0:double(1000行)

    col1:bigint(100行)

    col2:bigint(300行)

    962

    88

    Tue Oct 15 00:26:40 CST 1974

    218

    99

    Thu Jan 04 20:53:20 CST 1973

    565

    44

    Sat Mar 09 02:40:00 CST 1974

    314

    68

    Mon Aug 11 22:40:00 CST 1975

    583

    13

    Sat Aug 23 12:26:40 CST 1975

    615

    87

    Tue May 25 14:13:20 CST 1971

    70

    53

    Fri Mar 23 09:20:00 CST 1979

    929

    63

    Mon Jul 03 16:26:40 CST 1972

    249

    48

    Thu Mar 15 07:33:20 CST 1973

    428

    62

    Wed Mar 17 03:33:20 CST 1971

    119

    1

    Thu Jun 26 15:33:20 CST 1975

    756

    27

    Mon Jan 30 17:20:00 CST 1978

    490

    75

    Wed Dec 11 21:20:00 CST 1974

    957

    12

    Sun Jul 05 12:26:40 CST 1970

    80

    22

    Wed Oct 04 06:40:00 CST 1972

    681

    57

    Wed Nov 03 15:06:40 CST 1971

    13

    95

    Sat Sep 12 23:06:40 CST 1970

  • PAI命令

     PAI -name Percentile
         -project algo_public
         -DinputTableName=maple_test_percentile_3col_input
         -DcolName=col0,col1,col2 -DoutputTableName=maple_test_percentile_3col_output;
  • 输出表

    quantile:bigint

    col0:double

    col1:bigint

    col2:datetime

    0

    0.0

    0

    Thu Jan 01 08:00:00 CST 1970

    1

    9.0

    0

    Sat Jan 24 11:33:20 CST 1970

    2

    19.0

    1

    Sat Feb 28 04:53:20 CST 1970

    3

    29.0

    2

    Fri Apr 03 22:13:20 CST 1970

    4

    39.0

    3

    Fri May 08 15:33:20 CST 1970

    5

    49.0

    4

    Fri Jun 12 08:53:20 CST 1970

    6

    59.0

    5

    Fri Jul 17 02:13:20 CST 1970

    7

    69.0

    6

    Thu Aug 20 19:33:20 CST 1970

    8

    79.0

    7

    Thu Sep 24 12:53:20 CST 1970

    9

    89.0

    8

    Thu Oct 29 06:13:20 CST 1970

    10

    99.0

    9

    Wed Dec 02 23:33:20 CST 1970

    11

    109.0

    10

    Wed Jan 06 16:53:20 CST 1971

    12

    119.0

    11

    Wed Feb 10 10:13:20 CST 1971

    13

    129.0

    12

    Wed Mar 17 03:33:20 CST 1971

    14

    139.0

    13

    Tue Apr 20 20:53:20 CST 1971

    15

    149.0

    14

    Tue May 25 14:13:20 CST 1971

    16

    159.0

    15

    Tue Jun 29 07:33:20 CST 1971

    ...

    ...

    ...

    ...

    84

    839.0

    83

    Thu Dec 15 10:13:20 CST 1977

    85

    849.0

    84

    Thu Jan 19 03:33:20 CST 1978

    86

    859.0

    85

    Wed Feb 22 20:53:20 CST 1978

    87

    869.0

    86

    Wed Mar 29 14:13:20 CST 1978

    88

    879.0

    87

    Wed May 03 07:33:20 CST 1978

    89

    889.0

    88

    Wed Jun 07 00:53:20 CST 1978

    90

    899.0

    89

    Tue Jul 11 18:13:20 CST 1978

    91

    909.0

    90

    Tue Aug 15 11:33:20 CST 1978

    92

    919.0

    91

    Tue Sep 19 04:53:20 CST 1978

    93

    929.0

    92

    Mon Oct 23 22:13:20 CST 1978

    94

    939.0

    93

    Mon Nov 27 15:33:20 CST 1978

    95

    949.0

    94

    Mon Jan 01 08:53:20 CST 1979

    96

    959.0

    95

    Mon Feb 05 02:13:20 CST 1979

    97

    969.0

    96

    Sun Mar 11 19:33:20 CST 1979

    98

    979.0

    97

    Sun Apr 15 12:53:20 CST 1979

    99

    989.0

    98

    Sun May 20 06:13:20 CST 1979

    100

    999.0

    99

    Sat Jun 23 23:33:20 CST 1979