百分位是統計學術語,用於計算資料表列資料的百分位。一組資料從小到大排序,並計算相應資料的百分位,則某百分位所對應資料的值稱為該百分位的百分位元。
背景資訊
系統僅支援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