Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature](external catalog)Add partition grammar for external catalog to create table #31585

Merged
merged 10 commits into from
Mar 8, 2024
Merged

[feature](external catalog)Add partition grammar for external catalog to create table #31585

merged 10 commits into from
Mar 8, 2024

Conversation

wuwenchi
Copy link
Contributor

@wuwenchi wuwenchi commented Feb 29, 2024

Proposed changes

The PARTITION BY syntax used by external catalogs has been added.
You can specify a column directly, or a partition function as a partition condition.
Like:
PARTITION BY LIST(col1, col2, func(param), func(param1, param2), func(param1, param2, param3))

NOTICE:
This PR change the grammar of AUTO PARTITION
From

AUTO PARTITION BY RANGE date_trunc(`TIME_STAMP`, 'month')

To

AUTO PARTITION BY RANGE (date_trunc(`TIME_STAMP`, 'month'))

Further comments

If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...

@doris-robot
Copy link

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

: functions+=partitionFunction (COMMA functions+=partitionFunction)*
;

partitionFunction
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is better use functionCallExpression directly, and in LogicalPlanBuilder check return expression is UnboundFunction

@Override
public Expression visitPartitionFunction(DorisParser.PartitionFunctionContext ctx) {
String name = ctx.identity.getText();
List<Expression> params = visit(ctx.expression(), Expression.class);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do u test this syntax? i think u want get is ctx.arguments()

Comment on lines 725 to 732
partitionFunctionCallExpression
: LEFT_PAREN partitionFunctionList RIGHT_PAREN
;

partitionFunctionList
: functions+=partitionFunction (COMMA functions+=partitionFunction)*
;

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not merge this two statement into one?

LEFT_PAREN functions+=partitionFunction (COMMA functions+=partitionFunction)* RIGHT_PAREN

partitionType,
ctx.partitionKeys != null ? visitIdentifierList(ctx.partitionKeys) : null,
ctx.partitions != null ? visitPartitionsDef(ctx.partitions) : null,
partitionInfo.isAutoPartition(),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if u aready merge all partition info into one class, u'd better update CreateTableInfo's ctor to accept PartitionTableInfo as parameter

@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 1, 2024

run buildall

@wuwenchi wuwenchi requested a review from morrySnow March 1, 2024 10:14
@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17841	4611	4521	4521
q2	2162	219	215	215
q3	10407	1116	1091	1091
q4	4702	1222	1246	1222
q5	7750	2125	2042	2042
q6	144	116	106	106
q7	1181	1069	1057	1057
q8	9517	1056	1123	1056
q9	6405	4874	4851	4851
q10	7891	2055	2030	2030
q11	517	311	314	311
q12	847	431	416	416
q13	18073	2873	2874	2873
q14	309	292	293	292
q15	380	364	351	351
q16	523	510	519	510
q17	768	315	309	309
q18	5518	5064	4691	4691
q19	1174	399	406	399
q20	596	427	438	427
q21	6110	2883	2848	2848
q22	514	464	476	464
Total cold run time: 103329 ms
Total hot run time: 32082 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4686	4602	4583	4583
q2	293	220	228	220
q3	2251	1878	1880	1878
q4	1630	1370	1369	1369
q5	3280	3003	3001	3001
q6	156	117	102	102
q7	1821	1834	1785	1785
q8	1762	1635	1656	1635
q9	5345	5275	5246	5246
q10	2637	2369	2366	2366
q11	486	404	425	404
q12	753	666	660	660
q13	3016	2765	2816	2765
q14	294	278	296	278
q15	365	348	355	348
q16	478	481	480	480
q17	1112	759	743	743
q18	5760	5542	5285	5285
q19	1116	625	608	608
q20	1510	1512	1451	1451
q21	4713	4264	4302	4264
q22	680	601	590	590
Total cold run time: 44144 ms
Total hot run time: 40061 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 189294 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 61a06c43404f554f24c84076d980b582730821a6, data reload: false

query1	1046	393	382	382
query2	7901	2368	2368	2368
query3	6739	302	304	302
query4	29875	23976	24137	23976
query5	5514	721	752	721
query6	405	277	370	277
query7	4947	443	429	429
query8	318	243	251	243
query9	8641	3388	3332	3332
query10	563	343	333	333
query11	19699	19281	20457	19281
query12	318	246	252	246
query13	1700	657	660	657
query14	11542	7933	7680	7680
query15	335	260	249	249
query16	8316	390	399	390
query17	2089	687	680	680
query18	2181	415	381	381
query19	483	234	237	234
query20	137	124	130	124
query21	235	161	156	156
query22	5368	4998	5125	4998
query23	24789	24604	24522	24522
query24	6793	2065	2063	2063
query25	610	494	482	482
query26	797	234	240	234
query27	2342	493	499	493
query28	3323	2805	2770	2770
query29	931	748	737	737
query30	307	187	192	187
query31	1367	842	856	842
query32	134	96	91	91
query33	610	414	371	371
query34	920	651	668	651
query35	988	886	881	881
query36	1278	1199	1178	1178
query37	130	107	110	107
query38	3223	3138	3148	3138
query39	1153	1089	1125	1089
query40	256	168	167	167
query41	93	87	86	86
query42	155	157	160	157
query43	588	573	604	573
query44	1266	1059	1041	1041
query45	230	211	222	211
query46	886	788	790	788
query47	1723	1680	1692	1680
query48	608	523	522	522
query49	742	467	472	467
query50	649	555	551	551
query51	9084	9222	9021	9021
query52	162	148	142	142
query53	328	327	325	325
query54	360	371	361	361
query55	165	130	126	126
query56	393	336	346	336
query57	1096	1045	1020	1020
query58	341	320	334	320
query59	3556	3394	3390	3390
query60	403	399	427	399
query61	167	165	163	163
query62	546	427	425	425
query63	327	319	327	319
query64	4211	1856	2345	1856
query65	2406	2355	2382	2355
query66	881	393	378	378
query67	15440	15107	15128	15107
query68	4212	705	732	705
query69	664	552	555	552
query70	1609	1632	1558	1558
query71	461	416	414	414
query72	2803	2358	2349	2349
query73	662	471	478	471
query74	7774	7113	7060	7060
query75	3063	2741	2762	2741
query76	2128	659	636	636
query77	494	415	398	398
query78	6876	6479	6454	6454
query79	1052	735	741	735
query80	656	606	594	594
query81	473	258	265	258
query82	167	136	134	134
query83	244	238	230	230
query84	274	139	130	130
query85	865	531	515	515
query86	436	405	442	405
query87	3537	3323	3233	3233
query88	3679	3438	3408	3408
query89	436	416	413	413
query90	986	239	225	225
query91	210	201	203	201
query92	87	82	80	80
query93	1022	724	714	714
query94	511	280	270	270
query95	574	523	514	514
query96	624	391	383	383
query97	3038	2902	3022	2902
query98	321	317	312	312
query99	850	739	765	739
Total cold run time: 265897 ms
Total hot run time: 189294 ms

@doris-robot
Copy link

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

query1	0.05	0.04	0.04
query2	0.10	0.03	0.04
query3	0.27	0.06	0.06
query4	1.60	0.09	0.09
query5	0.50	0.48	0.51
query6	1.49	0.97	0.94
query7	0.03	0.02	0.02
query8	0.06	0.04	0.04
query9	0.68	0.63	0.63
query10	0.68	0.68	0.70
query11	0.19	0.15	0.16
query12	0.19	0.15	0.15
query13	0.48	0.47	0.47
query14	0.72	0.70	0.70
query15	0.90	0.87	0.86
query16	0.41	0.40	0.42
query17	1.16	1.12	1.21
query18	0.36	0.34	0.30
query19	2.18	2.04	2.04
query20	0.02	0.02	0.02
query21	15.43	1.02	1.02
query22	0.57	0.57	0.57
query23	13.67	0.60	0.61
query24	0.77	0.17	0.18
query25	0.04	0.05	0.05
query26	0.19	0.19	0.20
query27	0.05	0.05	0.04
query28	1.52	0.72	0.71
query29	12.78	4.65	4.49
query30	0.81	0.79	0.74
query31	0.81	0.42	0.42
query32	3.25	0.39	0.40
query33	2.34	2.22	2.23
query34	2.18	2.24	2.20
query35	2.22	2.22	2.21
query36	0.95	1.00	1.00
query37	0.08	0.06	0.06
query38	0.05	0.05	0.04
query39	0.04	0.03	0.02
query40	0.20	0.18	0.21
query41	0.09	0.04	0.03
query42	0.04	0.02	0.03
query43	0.04	0.03	0.04
Total cold run time: 70.19 s
Total hot run time: 26.62 s

@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 2, 2024

run buildall

@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 5, 2024

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17719	3970	3977	3970
q2	2013	148	147	147
q3	10571	934	911	911
q4	4659	915	904	904
q5	7621	2856	2968	2856
q6	179	126	137	126
q7	1289	846	823	823
q8	9487	2086	2042	2042
q9	7264	6422	6417	6417
q10	8210	2554	2567	2554
q11	422	217	218	217
q12	717	329	304	304
q13	17971	2974	2918	2918
q14	273	245	257	245
q15	490	453	452	452
q16	470	392	394	392
q17	956	858	842	842
q18	6696	5893	5774	5774
q19	1564	1506	1505	1505
q20	544	280	278	278
q21	7512	3659	3703	3659
q22	786	281	288	281
Total cold run time: 107413 ms
Total hot run time: 37617 ms

----- Round 2, with runtime_filter_mode=off -----
q1	3953	3961	3968	3961
q2	323	228	225	225
q3	2907	2916	2927	2916
q4	1848	1807	1754	1754
q5	5226	5233	5255	5233
q6	201	116	120	116
q7	2246	1809	1826	1809
q8	3204	3241	3244	3241
q9	8524	8502	8487	8487
q10	6116	3768	3704	3704
q11	518	430	456	430
q12	655	533	551	533
q13	12995	2782	2778	2778
q14	285	257	262	257
q15	475	441	433	433
q16	435	390	392	390
q17	1661	1646	1665	1646
q18	7934	7483	7169	7169
q19	4947	1526	1638	1526
q20	1952	1703	1737	1703
q21	4948	4801	4804	4801
q22	530	482	475	475
Total cold run time: 71883 ms
Total hot run time: 53587 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 178480 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 5fedfbf84ee70401145c2bd5565bce6745183bf1, data reload: false

query1	929	355	344	344
query2	7367	2132	2128	2128
query3	6713	208	210	208
query4	24559	21268	21118	21118
query5	4306	501	459	459
query6	277	178	168	168
query7	4648	311	305	305
query8	230	179	170	170
query9	8465	2217	2203	2203
query10	438	224	253	224
query11	15082	14570	14427	14427
query12	144	90	94	90
query13	1637	452	430	430
query14	8966	6994	7027	6994
query15	262	190	187	187
query16	7230	274	278	274
query17	945	612	550	550
query18	1926	296	301	296
query19	215	165	165	165
query20	95	88	93	88
query21	206	136	126	126
query22	4608	4506	4410	4410
query23	31625	30699	30900	30699
query24	11569	3072	3037	3037
query25	688	393	400	393
query26	1747	163	169	163
query27	3039	361	368	361
query28	6353	1847	1822	1822
query29	1200	623	612	612
query30	309	151	149	149
query31	945	766	741	741
query32	110	69	60	60
query33	763	263	258	258
query34	1020	466	494	466
query35	938	817	811	811
query36	946	837	863	837
query37	144	72	76	72
query38	3336	3116	3120	3116
query39	1428	1381	1384	1381
query40	309	121	118	118
query41	60	56	55	55
query42	109	102	102	102
query43	441	414	411	411
query44	1086	714	722	714
query45	216	201	193	193
query46	1052	791	772	772
query47	1646	1551	1559	1551
query48	415	347	348	347
query49	1224	357	346	346
query50	787	380	385	380
query51	6712	6589	6630	6589
query52	107	95	102	95
query53	349	288	295	288
query54	297	263	283	263
query55	87	83	89	83
query56	244	240	230	230
query57	1084	1011	1007	1007
query58	261	219	226	219
query59	2498	2363	2374	2363
query60	272	316	272	272
query61	117	113	116	113
query62	653	411	425	411
query63	312	282	286	282
query64	6311	3251	3534	3251
query65	3079	3017	3042	3017
query66	1158	344	344	344
query67	15330	14559	14480	14480
query68	12532	554	572	554
query69	711	387	370	370
query70	1363	1131	1105	1105
query71	577	274	284	274
query72	9985	2629	2505	2505
query73	2294	329	327	327
query74	7330	6776	6925	6776
query75	5997	2666	2627	2627
query76	7146	1130	1196	1130
query77	685	252	254	252
query78	10256	9636	9646	9636
query79	10888	533	508	508
query80	1791	405	388	388
query81	474	232	208	208
query82	401	87	86	86
query83	255	143	143	143
query84	285	82	78	78
query85	1280	356	335	335
query86	388	290	317	290
query87	3597	3161	3211	3161
query88	3635	2277	2292	2277
query89	538	369	365	365
query90	2419	173	174	173
query91	164	134	124	124
query92	57	47	49	47
query93	5573	518	508	508
query94	1533	185	187	185
query95	450	351	352	351
query96	598	264	262	262
query97	4005	3834	3865	3834
query98	230	222	218	218
query99	1085	760	745	745
Total cold run time: 310146 ms
Total hot run time: 178480 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.06	0.02	0.02
query3	0.24	0.06	0.07
query4	1.65	0.10	0.10
query5	0.50	0.48	0.50
query6	1.25	0.67	0.69
query7	0.01	0.01	0.02
query8	0.04	0.03	0.03
query9	0.56	0.52	0.50
query10	0.58	0.55	0.56
query11	0.13	0.10	0.09
query12	0.13	0.10	0.10
query13	0.58	0.57	0.57
query14	0.74	0.76	0.73
query15	0.83	0.79	0.80
query16	0.37	0.37	0.37
query17	0.97	0.99	1.00
query18	0.28	0.24	0.26
query19	1.83	1.75	1.76
query20	0.02	0.02	0.01
query21	15.40	0.65	0.59
query22	3.27	3.98	1.91
query23	17.49	1.02	1.01
query24	2.31	0.40	0.18
query25	0.24	0.08	0.06
query26	0.19	0.12	0.13
query27	0.03	0.03	0.03
query28	12.68	0.84	0.84
query29	12.98	3.25	3.27
query30	0.64	0.58	0.57
query31	2.79	0.33	0.34
query32	3.37	0.43	0.44
query33	2.98	2.92	2.91
query34	15.53	4.32	4.28
query35	4.29	4.31	4.31
query36	1.08	1.02	1.03
query37	0.07	0.06	0.05
query38	0.04	0.03	0.02
query39	0.02	0.02	0.02
query40	0.18	0.13	0.14
query41	0.08	0.02	0.02
query42	0.03	0.02	0.02
query43	0.03	0.02	0.03
Total cold run time: 106.53 s
Total hot run time: 30.21 s

@doris-robot
Copy link

Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'

Load test result on commit 5fedfbf84ee70401145c2bd5565bce6745183bf1 with default session variables
Stream load json:         19 seconds loaded 2358488459 Bytes, about 118 MB/s
Stream load orc:          59 seconds loaded 1101869774 Bytes, about 17 MB/s
Stream load parquet:      31 seconds loaded 861443392 Bytes, about 26 MB/s
Insert into select:       18.4 seconds inserted 10000000 Rows, about 543K ops/s

@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 5, 2024

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17815	4036	4045	4036
q2	2026	154	143	143
q3	11283	973	958	958
q4	5380	965	985	965
q5	7912	2898	3047	2898
q6	197	128	133	128
q7	1345	860	837	837
q8	9843	2073	2106	2073
q9	7738	6578	6462	6462
q10	8230	2548	2579	2548
q11	419	221	222	221
q12	725	320	310	310
q13	17978	2969	2928	2928
q14	292	257	259	257
q15	504	457	451	451
q16	476	393	414	393
q17	944	891	871	871
q18	6755	6081	5870	5870
q19	1572	1529	1678	1529
q20	560	304	281	281
q21	7555	3736	3644	3644
q22	797	288	317	288
Total cold run time: 110346 ms
Total hot run time: 38091 ms

----- Round 2, with runtime_filter_mode=off -----
q1	4005	3966	4010	3966
q2	323	241	227	227
q3	2961	2889	2878	2878
q4	1846	1801	1794	1794
q5	5240	5243	5252	5243
q6	215	115	116	115
q7	2272	1848	1838	1838
q8	3218	3249	3265	3249
q9	8509	8531	8544	8531
q10	6245	3717	3719	3717
q11	521	443	441	441
q12	683	548	566	548
q13	3722	2828	2796	2796
q14	278	253	270	253
q15	479	441	441	441
q16	451	421	410	410
q17	1666	1670	1662	1662
q18	7883	7515	7312	7312
q19	1754	1616	1605	1605
q20	1983	1713	1743	1713
q21	4874	4762	4732	4732
q22	548	480	472	472
Total cold run time: 59676 ms
Total hot run time: 53943 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 177078 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 913d854807b9222cec921c5e2afecddf2d37c353, data reload: false

query1	936	353	335	335
query2	7378	2141	2064	2064
query3	6737	215	215	215
query4	26191	21052	20785	20785
query5	4362	450	472	450
query6	278	194	180	180
query7	4620	311	300	300
query8	235	166	166	166
query9	8455	2211	2180	2180
query10	430	229	228	228
query11	14856	14416	14339	14339
query12	138	92	86	86
query13	1630	434	422	422
query14	8869	6766	6846	6766
query15	234	197	194	194
query16	7241	276	269	269
query17	961	585	583	583
query18	1921	286	283	283
query19	208	167	171	167
query20	97	91	91	91
query21	205	129	125	125
query22	4805	4616	4521	4521
query23	31732	31118	30468	30468
query24	12442	3089	3015	3015
query25	695	394	401	394
query26	1910	169	171	169
query27	3040	357	367	357
query28	6651	1847	1844	1844
query29	1312	624	605	605
query30	357	149	148	148
query31	914	752	747	747
query32	102	68	62	62
query33	767	273	249	249
query34	995	454	469	454
query35	946	806	813	806
query36	959	846	820	820
query37	279	68	69	68
query38	3257	3166	3164	3164
query39	1420	1376	1369	1369
query40	296	125	135	125
query41	59	56	55	55
query42	109	102	100	100
query43	455	408	419	408
query44	1077	722	704	704
query45	204	195	195	195
query46	1054	794	765	765
query47	1651	1586	1564	1564
query48	412	350	342	342
query49	1206	359	357	357
query50	783	381	379	379
query51	6737	6553	6581	6553
query52	105	94	94	94
query53	342	294	280	280
query54	325	276	254	254
query55	94	85	84	84
query56	271	233	243	233
query57	1075	1008	1011	1008
query58	259	224	220	220
query59	2480	2186	2186	2186
query60	270	249	252	249
query61	119	112	118	112
query62	659	422	402	402
query63	301	278	278	278
query64	6459	3156	3054	3054
query65	3049	2984	3014	2984
query66	1466	331	324	324
query67	15137	14712	14414	14414
query68	11625	554	586	554
query69	716	390	382	382
query70	1355	1098	1069	1069
query71	620	270	278	270
query72	10038	2616	2533	2533
query73	1734	332	322	322
query74	7204	6871	6856	6856
query75	6211	2614	2660	2614
query76	8063	1091	1187	1091
query77	914	269	251	251
query78	10197	9615	9538	9538
query79	11912	523	534	523
query80	1464	405	383	383
query81	485	209	205	205
query82	355	89	86	86
query83	283	150	145	145
query84	287	79	77	77
query85	1236	344	328	328
query86	362	297	313	297
query87	3390	3212	3231	3212
query88	3693	2297	2287	2287
query89	498	369	362	362
query90	2308	173	176	173
query91	179	126	129	126
query92	64	49	51	49
query93	5425	528	512	512
query94	1580	192	188	188
query95	450	345	352	345
query96	603	266	265	265
query97	4056	3875	3927	3875
query98	228	220	204	204
query99	1081	775	745	745
Total cold run time: 313635 ms
Total hot run time: 177078 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.03
query2	0.06	0.03	0.02
query3	0.23	0.06	0.06
query4	1.67	0.10	0.10
query5	0.54	0.49	0.48
query6	1.29	0.68	0.68
query7	0.02	0.01	0.01
query8	0.04	0.02	0.02
query9	0.55	0.52	0.54
query10	0.57	0.55	0.57
query11	0.13	0.10	0.10
query12	0.13	0.10	0.10
query13	0.57	0.57	0.57
query14	0.74	0.75	0.74
query15	0.81	0.81	0.81
query16	0.36	0.38	0.38
query17	1.02	1.00	0.98
query18	0.25	0.25	0.27
query19	1.84	1.75	1.70
query20	0.02	0.01	0.01
query21	15.42	0.62	0.66
query22	2.95	4.25	2.94
query23	17.40	1.17	0.98
query24	2.32	0.39	0.38
query25	0.25	0.07	0.04
query26	0.17	0.14	0.13
query27	0.03	0.04	0.03
query28	12.20	0.85	0.84
query29	12.57	3.34	3.49
query30	0.59	0.56	0.55
query31	2.79	0.33	0.34
query32	3.40	0.44	0.43
query33	2.89	2.91	2.86
query34	15.52	4.33	4.31
query35	4.28	4.31	4.31
query36	1.08	1.02	1.02
query37	0.07	0.05	0.05
query38	0.05	0.03	0.03
query39	0.03	0.02	0.02
query40	0.17	0.13	0.14
query41	0.07	0.02	0.02
query42	0.03	0.02	0.02
query43	0.03	0.03	0.02
Total cold run time: 105.19 s
Total hot run time: 31.51 s

@doris-robot
Copy link

Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'

Load test result on commit 913d854807b9222cec921c5e2afecddf2d37c353 with default session variables
Stream load json:         18 seconds loaded 2358488459 Bytes, about 124 MB/s
Stream load orc:          59 seconds loaded 1101869774 Bytes, about 17 MB/s
Stream load parquet:      32 seconds loaded 861443392 Bytes, about 25 MB/s
Insert into select:       18.9 seconds inserted 10000000 Rows, about 529K ops/s

@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 6, 2024

run buildall

morningman
morningman previously approved these changes Mar 6, 2024
Copy link
Contributor

@morningman morningman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@@ -867,9 +717,13 @@ public CreateTableStmt translateToLegacyStmt() {
throw new AnalysisException(e.getMessage(), e.getCause());
}
} else if (!engineName.equals("olap")) {
if (partitionDesc != null || distributionDesc != null) {
if (!engineName.equals("hms") && distributionDesc != null) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (!engineName.equals("hms") && distributionDesc != null) {
if (!engineName.equals("hive") && distributionDesc != null) {

+ " table should not contain partition or distribution desc");
+ " table should not contain distribution desc");
}
if (!engineName.equals("hms") && !engineName.equals("iceberg") && partitionDesc != null) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (!engineName.equals("hms") && !engineName.equals("iceberg") && partitionDesc != null) {
if (!engineName.equals("hive") && !engineName.equals("iceberg") && partitionDesc != null) {

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 6, 2024
Copy link
Contributor

github-actions bot commented Mar 6, 2024

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

@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 7, 2024

run buildall

1 similar comment
@morningman
Copy link
Contributor

run buildall

@morningman
Copy link
Contributor

run buildall

1 similar comment
@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 7, 2024

run buildall

@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 7, 2024

run p0

1 similar comment
@wuwenchi
Copy link
Contributor Author

wuwenchi commented Mar 7, 2024

run p0

Copy link
Contributor

@morningman morningman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 8, 2024
Copy link
Contributor

github-actions bot commented Mar 8, 2024

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

Copy link
Contributor

@kaka11chen kaka11chen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@morningman morningman merged commit 63b47e9 into apache:master Mar 8, 2024
24 of 29 checks passed
yiguolei pushed a commit that referenced this pull request Mar 9, 2024
… to create table (#31585)

The `PARTITION BY` syntax used by external catalogs has been added. 
You can specify a column directly, or a partition function as a partition condition.
Like:
 `PARTITION BY LIST(col1, col2, func(param), func(param1, param2), func(param1, param2, param3))`

NOTICE:
This PR change the grammar of `AUTO PARTITION`
From 
```
AUTO PARTITION BY RANGE date_trunc(`TIME_STAMP`, 'month')
```
To
```
AUTO PARTITION BY RANGE (date_trunc(`TIME_STAMP`, 'month'))
```
zhangstar333 pushed a commit that referenced this pull request Apr 1, 2024
fix legacy planner grammer
fix nereids planner parsing
fix cases
forbid auto range partition with null column
fix CreateTableStmt with auto partition and some partition items.
1 and 2 are about #31585
doc pr: apache/doris-website#488
zclllyybb added a commit to zclllyybb/doris that referenced this pull request Apr 1, 2024
…e#32737)

fix legacy planner grammer
fix nereids planner parsing
fix cases
forbid auto range partition with null column
fix CreateTableStmt with auto partition and some partition items.
1 and 2 are about apache#31585
doc pr: apache/doris-website#488
zclllyybb added a commit to zclllyybb/doris that referenced this pull request Apr 9, 2024
…e#32737)

fix legacy planner grammer
fix nereids planner parsing
fix cases
forbid auto range partition with null column
fix CreateTableStmt with auto partition and some partition items.
1 and 2 are about apache#31585
doc pr: apache/doris-website#488
yiguolei pushed a commit that referenced this pull request Apr 9, 2024
… (#33412)

fix legacy planner grammer
fix nereids planner parsing
fix cases
forbid auto range partition with null column
fix CreateTableStmt with auto partition and some partition items.
1 and 2 are about #31585
doc pr: apache/doris-website#488
zclllyybb added a commit to zclllyybb/doris that referenced this pull request Apr 11, 2024
…e#32737)

fix legacy planner grammer
fix nereids planner parsing
fix cases
forbid auto range partition with null column
fix CreateTableStmt with auto partition and some partition items.
1 and 2 are about apache#31585
doc pr: apache/doris-website#488
w41ter added a commit to w41ter/incubator-doris that referenced this pull request Apr 24, 2024
AUTO PARTITION grammar has changed since apache#31585, but the output
of SHOW CREATE TABLE was left out to change, so the result is not
able to be recognized by the FE parser.
dataroaring pushed a commit that referenced this pull request Apr 25, 2024
AUTO PARTITION grammar has changed since #31585, but the output
of SHOW CREATE TABLE was left out to change, so the result is not
able to be recognized by the FE parser.
yiguolei pushed a commit that referenced this pull request Apr 25, 2024
AUTO PARTITION grammar has changed since #31585, but the output
of SHOW CREATE TABLE was left out to change, so the result is not
able to be recognized by the FE parser.
dataroaring pushed a commit that referenced this pull request Apr 27, 2024
AUTO PARTITION grammar has changed since #31585, but the output
of SHOW CREATE TABLE was left out to change, so the result is not
able to be recognized by the FE parser.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by one committer. dev/2.1.1-merged kind/behavior-changed reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants