百分位是统计学术语,用于计算数据表列数据的百分位。一组数据从小到大排序,并计算相应数据的百分位,则某百分位所对应数据的值称为该百分位的百分位数。
背景信息
系统仅支持Bigint、Double和Datetime类型的数据计算百分位。
计算百分位时,空列,默认跳过。如果全部为空列,则运行报错。
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 | 系统默认选择所有分区。指定输入表的分区:
| 否 |
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