百分位是统计学术语,用于计算数据表列数据的百分位。一组数据从小到大排序,并计算相应数据的百分位,则某百分位所对应数据的值称为该百分位的百分位数。
背景信息
- 系统仅支持Bigint,Double和Datetime类型的数据计算百分位。
- 计算百分位时,空列,默认跳过。如果全部为空列,则运行报错。
- colName支持配置多列数据。
组件配置
您可以使用以下任意一种方式,配置百分位组件参数。
方式一:可视化方式
在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
页签 | 参数 | 描述 |
---|---|---|
参数设置 | 输入列 | 选择输入列的字段。 |
执行调优 | 核数量 | 节点个数。 |
每个核的内存大小 | 单个节点内存大小。 |
方式二: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 | 系统默认选择所有分区。指定输入表的分区:
|
否 |
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