doris icon indicating copy to clipboard operation
doris copied to clipboard

[Feat](nereids) add transform rule MergePercentileToArray

Open feiniaofeiafei opened this issue 9 months ago • 5 comments

MergePercentileToArray is to perform a transformation in this case: select ss_item_sk, percentile(ss_quantity,0.9), percentile(ss_quantity,0.6), percentile(ss_quantity,0.3) from store_sales group by ss_item_sk; =》 select ss_item_sk, percentile_array(ss_quantity,[0.3,0.6,0.9]) from store_sales group by ss_item_sk;

feiniaofeiafei avatar Apr 29 '24 13:04 feiniaofeiafei

Thank you for your contribution to Apache Doris. Don't know what should be done next? See How to process your PR

Since 2024-03-18, the Document has been moved to doris-website. See Doris Document.

doris-robot avatar Apr 29 '24 13:04 doris-robot

run buildall

feiniaofeiafei avatar Apr 29 '24 13:04 feiniaofeiafei

TPC-DS: Total hot run time: 187124 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit e97e3ffd848a227423d18033d39bb022696d45a6, data reload: false

query1	911	366	353	353
query2	6500	2414	2192	2192
query3	6647	219	225	219
query4	22949	21770	22029	21770
query5	3829	440	425	425
query6	255	176	181	176
query7	4627	297	297	297
query8	237	186	189	186
query9	8689	2367	2372	2367
query10	405	247	257	247
query11	15370	14824	14787	14787
query12	121	92	85	85
query13	1637	388	371	371
query14	9916	8169	7628	7628
query15	256	163	172	163
query16	8203	265	257	257
query17	1754	571	550	550
query18	2100	279	269	269
query19	339	152	150	150
query20	89	83	82	82
query21	193	126	118	118
query22	5105	4891	4771	4771
query23	34250	33343	33187	33187
query24	10456	2866	2987	2866
query25	590	380	382	380
query26	693	158	148	148
query27	2082	310	310	310
query28	5829	2004	1992	1992
query29	840	591	586	586
query30	247	148	153	148
query31	950	727	715	715
query32	93	50	49	49
query33	640	252	243	243
query34	881	488	460	460
query35	810	680	657	657
query36	1071	904	873	873
query37	109	66	65	65
query38	3127	3042	3010	3010
query39	1595	1534	1559	1534
query40	194	124	124	124
query41	39	39	37	37
query42	103	94	95	94
query43	576	546	536	536
query44	1079	729	728	728
query45	271	258	278	258
query46	1066	734	725	725
query47	1947	1860	1863	1860
query48	371	288	288	288
query49	816	387	380	380
query50	759	383	382	382
query51	6874	6762	6696	6696
query52	96	90	91	90
query53	345	273	276	273
query54	303	234	231	231
query55	76	72	75	72
query56	238	219	224	219
query57	1181	1138	1116	1116
query58	235	212	189	189
query59	3338	3168	3164	3164
query60	253	236	226	226
query61	86	83	86	83
query62	635	458	449	449
query63	307	275	279	275
query64	8144	7139	7098	7098
query65	3058	3075	3053	3053
query66	823	345	326	326
query67	15732	15025	14904	14904
query68	9164	540	573	540
query69	558	305	320	305
query70	1197	1091	1113	1091
query71	510	271	268	268
query72	8052	2610	2425	2425
query73	828	326	318	318
query74	6518	6116	6120	6116
query75	4639	2667	2664	2664
query76	5397	990	1025	990
query77	690	267	261	261
query78	11088	10310	10172	10172
query79	10023	526	520	520
query80	1620	427	432	427
query81	492	218	215	215
query82	769	92	90	90
query83	197	160	161	160
query84	257	88	80	80
query85	1211	261	296	261
query86	399	308	310	308
query87	3279	3081	3083	3081
query88	5000	2331	2343	2331
query89	533	380	378	378
query90	1999	182	175	175
query91	122	93	92	92
query92	56	48	55	48
query93	7021	509	498	498
query94	1128	176	181	176
query95	396	310	299	299
query96	615	265	260	260
query97	3154	2958	2940	2940
query98	231	215	218	215
query99	1248	865	858	858
Total cold run time: 301731 ms
Total hot run time: 187124 ms

doris-robot avatar Apr 29 '24 13:04 doris-robot

wait for percentileArray perf opt

morrySnow avatar May 06 '24 02:05 morrySnow

run buildall

feiniaofeiafei avatar May 30 '24 08:05 feiniaofeiafei

run buildall

feiniaofeiafei avatar May 31 '24 08:05 feiniaofeiafei

TPC-H: Total hot run time: 41112 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 2b555bb78b7a8d8d739e9d04146a80e9c5fda25f, data reload: false

------ Round 1 ----------------------------------
q1	17750	4878	4455	4455
q2	2659	205	197	197
q3	11338	1270	1189	1189
q4	11104	784	735	735
q5	7552	2752	2790	2752
q6	229	142	144	142
q7	988	625	615	615
q8	9397	2158	2104	2104
q9	9022	6578	6522	6522
q10	9044	3790	3741	3741
q11	464	248	242	242
q12	486	231	234	231
q13	18824	3017	2962	2962
q14	259	218	210	210
q15	513	488	488	488
q16	540	394	373	373
q17	979	700	668	668
q18	8185	7386	7397	7386
q19	6543	1536	1513	1513
q20	650	312	312	312
q21	5012	3931	3935	3931
q22	394	346	344	344
Total cold run time: 121932 ms
Total hot run time: 41112 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4383	4299	4312	4299
q2	385	265	272	265
q3	2964	2719	2708	2708
q4	1896	1590	1604	1590
q5	5263	5322	5244	5244
q6	210	125	126	125
q7	2132	1702	1728	1702
q8	3227	3360	3337	3337
q9	8365	8367	8306	8306
q10	3869	3668	3658	3658
q11	589	479	478	478
q12	757	589	608	589
q13	16334	2989	2993	2989
q14	300	283	257	257
q15	518	474	497	474
q16	491	419	423	419
q17	1779	1502	1474	1474
q18	7658	7553	7323	7323
q19	1742	1511	1604	1511
q20	2014	1799	1819	1799
q21	5118	4939	4957	4939
q22	641	537	517	517
Total cold run time: 70635 ms
Total hot run time: 54003 ms

doris-robot avatar May 31 '24 08:05 doris-robot

run xcloud_p1

feiniaofeiafei avatar May 31 '24 13:05 feiniaofeiafei

run cloud_p1

morrySnow avatar Jun 03 '24 03:06 morrySnow

run performance

morrySnow avatar Jun 03 '24 03:06 morrySnow

TPC-H: Total hot run time: 41695 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 2b555bb78b7a8d8d739e9d04146a80e9c5fda25f, data reload: false

------ Round 1 ----------------------------------
q1	17608	4992	4306	4306
q2	2024	198	196	196
q3	10451	1217	1121	1121
q4	10187	839	771	771
q5	7472	2715	2735	2715
q6	234	137	136	136
q7	955	629	603	603
q8	9229	2116	2129	2116
q9	9500	6713	6665	6665
q10	9672	3955	3877	3877
q11	455	230	243	230
q12	471	237	233	233
q13	18463	3209	3219	3209
q14	270	216	222	216
q15	525	471	469	469
q16	486	392	388	388
q17	989	595	641	595
q18	8482	7917	7858	7858
q19	8187	1370	1442	1370
q20	667	341	338	338
q21	5198	3950	4054	3950
q22	398	333	347	333
Total cold run time: 121923 ms
Total hot run time: 41695 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4797	4483	4454	4454
q2	379	265	285	265
q3	3213	2775	2753	2753
q4	1892	1679	1700	1679
q5	5505	5479	5524	5479
q6	227	129	125	125
q7	2211	1783	1809	1783
q8	3234	3399	3363	3363
q9	8612	8639	8691	8639
q10	4088	3682	3660	3660
q11	594	492	515	492
q12	802	638	630	630
q13	15996	3147	3187	3147
q14	299	267	286	267
q15	524	489	485	485
q16	499	450	437	437
q17	1849	1503	1493	1493
q18	7981	7477	7387	7387
q19	1720	1517	1570	1517
q20	2104	1803	1802	1802
q21	10729	4684	4765	4684
q22	737	527	541	527
Total cold run time: 77992 ms
Total hot run time: 55068 ms

doris-robot avatar Jun 03 '24 04:06 doris-robot

TPC-DS: Total hot run time: 169184 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 2b555bb78b7a8d8d739e9d04146a80e9c5fda25f, data reload: false

query1	905	384	370	370
query2	6468	2363	2297	2297
query3	6647	203	207	203
query4	19482	17319	17077	17077
query5	4146	441	476	441
query6	258	166	152	152
query7	4592	301	287	287
query8	308	265	276	265
query9	8547	2377	2370	2370
query10	453	305	274	274
query11	10466	10078	9964	9964
query12	134	94	89	89
query13	1632	370	364	364
query14	10062	7611	6999	6999
query15	223	183	177	177
query16	7737	268	256	256
query17	1355	529	526	526
query18	1892	267	268	267
query19	197	155	155	155
query20	89	90	83	83
query21	210	129	130	129
query22	4278	4053	3986	3986
query23	33665	33065	33129	33065
query24	10929	2798	2919	2798
query25	588	359	361	359
query26	711	155	155	155
query27	2292	318	353	318
query28	5989	2065	2073	2065
query29	853	622	604	604
query30	287	147	163	147
query31	969	738	741	738
query32	92	52	54	52
query33	662	285	268	268
query34	869	469	468	468
query35	712	619	600	600
query36	1101	953	927	927
query37	141	69	71	69
query38	2869	2722	2700	2700
query39	863	797	793	793
query40	209	129	127	127
query41	54	85	49	49
query42	121	97	96	96
query43	567	561	536	536
query44	1089	743	753	743
query45	191	163	163	163
query46	1069	725	719	719
query47	1885	1782	1797	1782
query48	368	308	305	305
query49	1033	403	403	403
query50	769	383	393	383
query51	6840	6674	6652	6652
query52	101	89	98	89
query53	349	280	282	280
query54	859	456	467	456
query55	79	75	76	75
query56	272	260	262	260
query57	1114	1054	1036	1036
query58	255	272	266	266
query59	3347	3180	3201	3180
query60	287	272	271	271
query61	91	89	88	88
query62	658	448	441	441
query63	314	290	280	280
query64	8520	2219	1715	1715
query65	3148	3088	3128	3088
query66	808	328	328	328
query67	15467	14895	14925	14895
query68	4563	549	536	536
query69	473	296	290	290
query70	1126	1041	1123	1041
query71	388	281	279	279
query72	7266	2721	2520	2520
query73	764	328	322	322
query74	5945	5554	5502	5502
query75	3315	2720	2607	2607
query76	2352	901	976	901
query77	475	298	287	287
query78	10183	9671	9642	9642
query79	2512	514	516	514
query80	1249	487	471	471
query81	576	219	222	219
query82	656	106	101	101
query83	238	179	172	172
query84	250	91	91	91
query85	1621	337	308	308
query86	488	313	302	302
query87	3299	3061	3093	3061
query88	4358	2447	2450	2447
query89	467	389	372	372
query90	1795	188	188	188
query91	131	200	98	98
query92	62	50	84	50
query93	2082	513	501	501
query94	1165	186	186	186
query95	396	312	303	303
query96	587	278	267	267
query97	3178	3068	3003	3003
query98	245	211	214	211
query99	1332	839	829	829
Total cold run time: 267074 ms
Total hot run time: 169184 ms

doris-robot avatar Jun 03 '24 05:06 doris-robot

ClickBench: Total hot run time: 30.65 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 2b555bb78b7a8d8d739e9d04146a80e9c5fda25f, data reload: false

query1	0.04	0.03	0.03
query2	0.08	0.04	0.04
query3	0.23	0.05	0.05
query4	1.68	0.07	0.07
query5	0.51	0.48	0.50
query6	1.12	0.72	0.72
query7	0.02	0.01	0.01
query8	0.05	0.05	0.04
query9	0.53	0.47	0.48
query10	0.54	0.55	0.54
query11	0.15	0.11	0.12
query12	0.15	0.12	0.12
query13	0.59	0.59	0.58
query14	0.77	0.78	0.78
query15	0.85	0.82	0.82
query16	0.37	0.37	0.38
query17	0.99	0.96	0.97
query18	0.22	0.25	0.24
query19	1.78	1.68	1.66
query20	0.01	0.01	0.01
query21	15.76	0.66	0.66
query22	3.94	7.53	2.13
query23	18.37	1.38	1.38
query24	1.94	0.24	0.21
query25	0.15	0.08	0.08
query26	0.28	0.17	0.18
query27	0.08	0.08	0.07
query28	13.31	1.01	0.99
query29	13.52	3.31	3.22
query30	0.25	0.05	0.05
query31	2.88	0.38	0.39
query32	3.28	0.47	0.47
query33	2.85	2.91	2.81
query34	17.17	4.40	4.47
query35	4.56	4.50	4.59
query36	0.69	0.46	0.46
query37	0.17	0.15	0.16
query38	0.15	0.14	0.14
query39	0.05	0.03	0.04
query40	0.15	0.15	0.14
query41	0.09	0.04	0.04
query42	0.04	0.04	0.04
query43	0.04	0.04	0.03
Total cold run time: 110.4 s
Total hot run time: 30.65 s

doris-robot avatar Jun 03 '24 05:06 doris-robot

PR approved by at least one committer and no changes requested.

github-actions[bot] avatar Jun 03 '24 08:06 github-actions[bot]

PR approved by anyone and no changes requested.

github-actions[bot] avatar Jun 03 '24 08:06 github-actions[bot]