1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-29 08:21:15 +03:00

MCOL-5505 add parquet support for cpimport and add mcs_parquet_ddl and mcs_parquet_gen tools

This commit is contained in:
HanpyBin
2023-08-20 16:01:58 +08:00
committed by Leonid Fedorov
parent 94a680ea60
commit fe597ec78c
25 changed files with 4677 additions and 251 deletions

View File

@ -0,0 +1,77 @@
DROP DATABASE IF EXISTS mcol_5505_parquet_large_volume;
CREATE DATABASE mcol_5505_parquet_large_volume;
USE mcol_5505_parquet_large_volume;
SET time_zone = '+8:00';
Create TABLE t1(
col1 INT,
col2 TIMESTAMP(3),
col3 CHAR(6),
col4 DECIMAL(38,10),
col5 DOUBLE,
col6 VARCHAR(20)
) ENGINE=Columnstore;
Create TABLE t2(
col1 INT,
col2 TIMESTAMP(3),
col3 CHAR(6),
col4 DECIMAL(38,10),
col5 DOUBLE,
col6 VARCHAR(20)
) ENGINE=Columnstore;
Create TABLE t3(
col1 INT,
col2 TIMESTAMP(3),
col3 CHAR(6),
col4 DECIMAL(38,10),
col5 DOUBLE,
col6 VARCHAR(20)
) ENGINE=Columnstore;
Create TABLE t4(
col1 INT,
col2 TIMESTAMP(3),
col3 CHAR(6),
col4 DECIMAL(38,10),
col5 DOUBLE,
col6 VARCHAR(20)
) ENGINE=Columnstore;
SELECT * FROM t1 ORDER BY col1 LIMIT 5;
col1 col2 col3 col4 col5 col6
0 0000-00-00 00:00:00.000 hhhh 12345678909876543.2112345678 2.5 hhhh
1 1970-01-01 10:46:40.001 hhhh 12345678909876543.2112345678 3.5 hhhh
2 1970-01-01 13:33:20.002 hhhh 12345678909876543.2112345678 4.5 hhhh
3 1970-01-01 16:20:00.003 hhhh 12345678909876543.2112345678 5.5 hhhh
4 1970-01-01 19:06:40.004 hhhh 12345678909876543.2112345678 6.5 hhhh
SELECT COUNT(*) FROM t1;
COUNT(*)
1000000
SELECT * FROM t2 ORDER BY col1 LIMIT 5;
col1 col2 col3 col4 col5 col6
0 0000-00-00 00:00:00.000 hhhh 12345678909876543.2112345678 2.5 hhhh
1 1970-01-01 10:46:40.001 hhhh 12345678909876543.2112345678 3.5 hhhh
2 1970-01-01 13:33:20.002 hhhh 12345678909876543.2112345678 4.5 hhhh
3 1970-01-01 16:20:00.003 hhhh 12345678909876543.2112345678 5.5 hhhh
4 1970-01-01 19:06:40.004 hhhh 12345678909876543.2112345678 6.5 hhhh
SELECT COUNT(*) FROM t2;
COUNT(*)
10000000
SELECT * FROM t3 ORDER BY col1 LIMIT 5;
col1 col2 col3 col4 col5 col6
0 0000-00-00 00:00:00.000 hhhh 12345678909876543.2112345678 2.5 hhhh
1 1970-01-01 10:46:40.001 hhhh 12345678909876543.2112345678 3.5 hhhh
2 1970-01-01 13:33:20.002 hhhh 12345678909876543.2112345678 4.5 hhhh
3 1970-01-01 16:20:00.003 hhhh 12345678909876543.2112345678 5.5 hhhh
4 1970-01-01 19:06:40.004 hhhh 12345678909876543.2112345678 6.5 hhhh
SELECT COUNT(*) FROM t3;
COUNT(*)
50000000
SELECT * FROM t4 ORDER BY col1 LIMIT 5;
col1 col2 col3 col4 col5 col6
0 0000-00-00 00:00:00.000 hhhh 12345678909876543.2112345678 2.5 hhhh
1 1970-01-01 10:46:40.001 hhhh 12345678909876543.2112345678 3.5 hhhh
2 1970-01-01 13:33:20.002 hhhh 12345678909876543.2112345678 4.5 hhhh
3 1970-01-01 16:20:00.003 hhhh 12345678909876543.2112345678 5.5 hhhh
4 1970-01-01 19:06:40.004 hhhh 12345678909876543.2112345678 6.5 hhhh
SELECT COUNT(*) FROM t4;
COUNT(*)
100000000
DROP DATABASE mcol_5505_parquet_large_volume;

View File

@ -0,0 +1,100 @@
DROP DATABASE IF EXISTS mcol_5505_cpimport_parquet;
CREATE DATABASE mcol_5505_cpimport_parquet;
USE mcol_5505_cpimport_parquet;
SET time_zone = '+8:00';
Create TABLE t1(
col1 INT,
col2 BIGINT,
col3 FLOAT,
col4 DOUBLE,
col5 TIME(3),
col6 VARCHAR(2),
col7 VARCHAR(5),
col8 VARCHAR(20),
col9 CHAR(2),
col10 CHAR(5),
col11 CHAR(20),
col12 TIMESTAMP(3),
col13 DATE,
col14 DATETIME(3),
col15 SMALLINT,
col16 TINYINT,
col17 DECIMAL(9,3),
col18 INT UNSIGNED,
col19 SMALLINT UNSIGNED,
col20 TINYINT UNSIGNED,
col21 BIGINT UNSIGNED,
col22 BOOLEAN,
col23 DECIMAL(38,10),
col24 TIME(6),
col25 TIMESTAMP(6),
col26 DATETIME(6),
col27 CHAR(4),
col28 CHAR(4)
) ENGINE=Columnstore;
SELECT * FROM t1;
col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13 col14 col15 col16 col17 col18 col19 col20 col21 col22 col23 col24 col25 col26 col27 col28
0 0 1.5 2.5 00:00:00.000 a a a a a a 0000-00-00 00:00:00.000 1970-01-01 1970-01-01 00:00:00.000 0 0 1383.433 0 0 0 0 1 12345678909876543.2112345678 00:00:00.000000 0000-00-00 00:00:00.000000 1970-01-01 00:00:00.000000 a abcd
NULL NULL 2.5 3.5 01:00:05.001 NULL NULL NULL NULL NULL NULL 1970-01-01 10:46:40.001 1970-01-11 1970-01-01 02:46:40.001 1 1 NULL NULL 1 1 NULL 1 12345678909876543.2112345678 01:00:05.000001 1970-01-01 10:46:40.000001 1970-01-01 02:46:40.000001 ab abcd
NULL NULL NULL 4.5 02:00:10.002 ab abcd abcd ab abcd abcd 1970-01-01 13:33:20.002 1970-01-21 1970-01-01 05:33:20.002 2 2 532235.234 NULL 2 2 NULL 1 12345678909876543.2112345678 02:00:10.000002 1970-01-01 13:33:20.000002 1970-01-01 05:33:20.000002 abcd abcd
NULL NULL 4.5 NULL 03:00:15.003 ab abcde abcde ab abcde abcde 1970-01-01 16:20:00.003 1970-01-31 1970-01-01 08:20:00.003 3 3 NULL NULL 3 3 NULL 1 12345678909876543.2112345678 03:00:15.000003 1970-01-01 16:20:00.000003 1970-01-01 08:20:00.000003 abcd abcd
4 4 5.5 6.5 04:00:20.004 ab abcde abcdefg ab abcde abcdefg 1970-01-01 19:06:40.004 1970-02-10 1970-01-01 11:06:40.004 4 4 5325.234 4 4 4 4 1 12345678909876543.2112345678 04:00:20.000004 1970-01-01 19:06:40.000004 1970-01-01 11:06:40.000004 abcd abcd
5 5 6.5 7.5 05:00:25.005 Wh Whlg1 Whlg1xXAxP Wh Whlg1 Whlg1xXAxP 1970-01-01 21:53:20.005 1970-02-20 1970-01-01 13:53:20.005 5 5 NULL 5 5 5 5 0 12345678909876543.2112345678 05:00:25.000005 1970-01-01 21:53:20.000005 1970-01-01 13:53:20.000005 Whlg abcd
6 6 7.5 8.5 06:00:30.006 4N 4Nimz 4NimzSQzMD 4N 4Nimz 4NimzSQzMD 1970-01-02 00:40:00.006 1970-03-02 1970-01-01 16:40:00.006 6 6 1383.433 6 6 6 6 1 12345678909876543.2112345678 06:00:30.000006 1970-01-02 00:40:00.000006 1970-01-01 16:40:00.000006 4Nim abcd
7 7 8.5 9.5 07:00:35.007 G2 G23ne G23ne3j92Ky0wBF G2 G23ne G23ne3j92Ky0wBF 1970-01-02 03:26:40.007 1970-03-12 1970-01-01 19:26:40.007 7 7 NULL 7 7 7 7 1 12345678909876543.2112345678 07:00:35.000007 1970-01-02 03:26:40.000007 1970-01-01 19:26:40.000007 G23n abcd
8 8 9.5 10.5 08:00:40.008 F4 F4z F4z F4 F4z F4z 1970-01-02 06:13:20.008 1970-03-22 1970-01-01 22:13:20.008 8 8 532235.234 8 8 8 8 1 12345678909876543.2112345678 08:00:40.000008 1970-01-02 06:13:20.000008 1970-01-01 22:13:20.000008 F4z abcd
9 9 10.5 11.5 09:00:45.009 8J 8JCVT 8JCVTsGYB7V 8J 8JCVT 8JCVTsGYB7V 1970-01-02 09:00:00.009 1970-04-01 1970-01-02 01:00:00.009 9 9 NULL 9 9 9 9 1 12345678909876543.2112345678 09:00:45.000009 1970-01-02 09:00:00.000009 1970-01-02 01:00:00.000009 8JCV abcd
10 10 11.5 12.5 10:00:50.010 23 23235 23235 23 23235 23235 1970-01-02 11:46:40.010 1970-04-11 1970-01-02 03:46:40.010 10 10 5325.234 10 10 10 10 1 12345678909876543.2112345678 10:00:50.000010 1970-01-02 11:46:40.000010 1970-01-02 03:46:40.000010 2323 abcd
11 11 12.5 13.5 11:00:55.011 sd sda22 sda22 sd sda22 sda22 1970-01-02 14:33:20.011 1970-04-21 1970-01-02 06:33:20.011 11 11 NULL 11 11 11 11 1 12345678909876543.2112345678 11:00:55.000011 1970-01-02 14:33:20.000011 1970-01-02 06:33:20.000011 sda2 abcd
12 12 13.5 14.5 12:01:00.012 SD SD7sd SD7sdFD7 SD SD7sd SD7sdFD7 1970-01-02 17:20:00.012 1970-05-01 1970-01-02 09:20:00.012 12 12 1383.433 12 12 12 12 1 12345678909876543.2112345678 12:01:00.000012 1970-01-02 17:20:00.000012 1970-01-02 09:20:00.000012 SD7s abcd
13 13 14.5 15.5 13:01:05.013 gv gvv3h gvv3hYwdfOD gv gvv3h gvv3hYwdfOD 1970-01-02 20:06:40.013 1970-05-11 1970-01-02 12:06:40.013 13 13 NULL 13 13 13 13 1 12345678909876543.2112345678 13:01:05.000013 1970-01-02 20:06:40.000013 1970-01-02 12:06:40.000013 gvv3 abcd
14 14 15.5 16.5 14:01:10.014 y8 y8wjo y8wjo4v50s6 y8 y8wjo y8wjo4v50s6 1970-01-02 22:53:20.014 1970-05-21 1970-01-02 14:53:20.014 14 14 532235.234 14 14 14 14 1 12345678909876543.2112345678 14:01:10.000014 1970-01-02 22:53:20.000014 1970-01-02 14:53:20.000014 y8wj abcd
15 15 16.5 17.5 15:01:15.015 aN aNJW5 aNJW56SJieE8KVV aN aNJW5 aNJW56SJieE8KVV 1970-01-03 01:40:00.015 1970-05-31 1970-01-02 17:40:00.015 15 15 NULL 15 15 15 15 1 12345678909876543.2112345678 15:01:15.000015 1970-01-03 01:40:00.000015 1970-01-02 17:40:00.000015 aNJW abcd
16 16 17.5 18.5 16:01:20.016 1+ 1+2=3 1+2=3 1+ 1+2=3 1+2=3 1970-01-03 04:26:40.016 1970-06-10 1970-01-02 20:26:40.016 16 16 5325.234 16 16 16 16 1 12345678909876543.2112345678 16:01:20.000016 1970-01-03 04:26:40.000016 1970-01-02 20:26:40.000016 1+2= abcd
17 17 18.5 19.5 17:01:25.017 He Hello Hello World! He Hello Hello World! 1970-01-03 07:13:20.017 1970-06-20 1970-01-02 23:13:20.017 17 17 NULL 17 17 17 17 1 12345678909876543.2112345678 17:01:25.000017 1970-01-03 07:13:20.000017 1970-01-02 23:13:20.000017 Hell abcd
18 18 19.5 20.5 18:01:30.018 1! 1!!!1 1!!!1 1! 1!!!1 1!!!1 1970-01-03 10:00:00.018 1970-06-30 1970-01-03 02:00:00.018 18 18 1383.433 18 18 18 18 1 12345678909876543.2112345678 18:01:30.000018 1970-01-03 10:00:00.000018 1970-01-03 02:00:00.000018 1!!! abcd
19 19 20.5 21.5 19:01:35.019 82 82440 824407880313877 82 82440 824407880313877 1970-01-03 12:46:40.019 1970-07-10 1970-01-03 04:46:40.019 19 19 NULL 19 19 19 19 1 12345678909876543.2112345678 19:01:35.000019 1970-01-03 12:46:40.000019 1970-01-03 04:46:40.000019 8244 abcd
20 20 21.5 22.5 20:01:40.020 19 1970- 1970-01-01 08:02:23 19 1970- 1970-01-01 08:02:23 1970-01-03 15:33:20.020 1970-07-20 1970-01-03 07:33:20.020 20 20 532235.234 20 20 20 20 1 12345678909876543.2112345678 20:01:40.000020 1970-01-03 15:33:20.000020 1970-01-03 07:33:20.000020 1970 abcd
21 21 22.5 23.5 21:01:45.021 19 1970- 1970-05-31 19 1970- 1970-05-31 1970-01-03 18:20:00.021 1970-07-30 1970-01-03 10:20:00.021 21 21 NULL 21 21 21 21 1 12345678909876543.2112345678 21:01:45.000021 1970-01-03 18:20:00.000021 1970-01-03 10:20:00.000021 1970 abcd
22 22 23.5 24.5 22:01:50.022 xx xxx xxx xx xxx xxx 1970-01-03 21:06:40.022 1970-08-09 1970-01-03 13:06:40.022 22 22 5325.234 22 22 22 22 1 12345678909876543.2112345678 22:01:50.000022 1970-01-03 21:06:40.000022 1970-01-03 13:06:40.000022 xxx abcd
23 23 24.5 25.5 23:01:55.023 ON ONMKM ONMKMQVBRWBUTWT ON ONMKM ONMKMQVBRWBUTWT 1970-01-03 23:53:20.023 1970-08-19 1970-01-03 15:53:20.023 23 23 NULL 23 23 23 23 1 12345678909876543.2112345678 23:01:55.000023 1970-01-03 23:53:20.000023 1970-01-03 15:53:20.000023 ONMK abcd
24 24 25.5 26.5 24:02:00.024 ZW ZWMWH ZWMWHSEZDYODQWP ZW ZWMWH ZWMWHSEZDYODQWP 1970-01-04 02:40:00.024 1970-08-29 1970-01-03 18:40:00.024 24 24 1383.433 24 24 24 24 1 12345678909876543.2112345678 24:02:00.000024 1970-01-04 02:40:00.000024 1970-01-03 18:40:00.000024 ZWMW abcd
25 25 26.5 27.5 25:02:05.025 Ho HoCYp HoCYpJ Ho HoCYp HoCYpJ 1970-01-04 05:26:40.025 1970-09-08 1970-01-03 21:26:40.025 25 25 NULL 25 25 25 25 1 12345678909876543.2112345678 25:02:05.000025 1970-01-04 05:26:40.000025 1970-01-03 21:26:40.000025 HoCY abcd
26 26 27.5 28.5 26:02:10.026 -1 -100 -100 -1 -100 -100 1970-01-04 08:13:20.026 1970-09-18 1970-01-04 00:13:20.026 26 26 532235.234 26 26 26 26 1 12345678909876543.2112345678 26:02:10.000026 1970-01-04 08:13:20.000026 1970-01-04 00:13:20.000026 -100 abcd
27 27 28.5 29.5 27:02:15.027 Iq Iqa8N Iqa8Nr Iq Iqa8N Iqa8Nr 1970-01-04 11:00:00.027 1970-09-28 1970-01-04 03:00:00.027 27 27 NULL 27 27 27 27 1 12345678909876543.2112345678 27:02:15.000027 1970-01-04 11:00:00.000027 1970-01-04 03:00:00.000027 Iqa8 abcd
28 28 29.5 30.5 28:02:20.028 nD nD274 nD274v nD nD274 nD274v 1970-01-04 13:46:40.028 1970-10-08 1970-01-04 05:46:40.028 28 28 5325.234 28 28 28 28 1 12345678909876543.2112345678 28:02:20.000028 1970-01-04 13:46:40.000028 1970-01-04 05:46:40.000028 nD27 abcd
-2147483646 2147483648 30.5 31.5 29:02:25.029 6y 6y0Jy 6y0JyW 6y 6y0Jy 6y0JyW 1970-01-04 16:33:20.029 1970-10-18 1970-01-04 08:33:20.029 29 29 NULL 2147483648 29 29 2147483648 1 12345678909876543.2112345678 29:02:25.000029 1970-01-04 16:33:20.000029 1970-01-04 08:33:20.000029 6y0J abcd
NULL NULL NULL NULL NULL NULL NULL a NULL NULL a 0000-00-00 00:00:00.000 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0000-00-00 00:00:00.000000 1970-01-01 00:00:00.000000 NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-01 10:46:40.001 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-01 10:46:40.000001 1970-01-01 02:46:40.000001 NULL NULL
NULL NULL NULL NULL NULL NULL NULL abcd NULL NULL abcd 1970-01-01 13:33:20.002 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-01 13:33:20.000002 1970-01-01 05:33:20.000002 NULL NULL
NULL NULL NULL NULL NULL NULL NULL abcde NULL NULL abcde 1970-01-01 16:20:00.003 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-01 16:20:00.000003 1970-01-01 08:20:00.000003 NULL NULL
NULL NULL NULL NULL NULL NULL NULL abcdefg NULL NULL abcdefg 1970-01-01 19:06:40.004 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-01 19:06:40.000004 1970-01-01 11:06:40.000004 NULL NULL
NULL NULL NULL NULL NULL NULL NULL Whlg1xXAxP NULL NULL Whlg1xXAxP 1970-01-01 21:53:20.005 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-01 21:53:20.000005 1970-01-01 13:53:20.000005 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 4NimzSQzMD NULL NULL 4NimzSQzMD 1970-01-02 00:40:00.006 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 00:40:00.000006 1970-01-01 16:40:00.000006 NULL NULL
NULL NULL NULL NULL NULL NULL NULL G23ne3j92Ky0wBF NULL NULL G23ne3j92Ky0wBF 1970-01-02 03:26:40.007 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 03:26:40.000007 1970-01-01 19:26:40.000007 NULL NULL
NULL NULL NULL NULL NULL NULL NULL F4z NULL NULL F4z 1970-01-02 06:13:20.008 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 06:13:20.000008 1970-01-01 22:13:20.000008 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 8JCVTsGYB7V NULL NULL 8JCVTsGYB7V 1970-01-02 09:00:00.009 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 09:00:00.000009 1970-01-02 01:00:00.000009 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 23235 NULL NULL 23235 1970-01-02 11:46:40.010 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 11:46:40.000010 1970-01-02 03:46:40.000010 NULL NULL
NULL NULL NULL NULL NULL NULL NULL sda22 NULL NULL sda22 1970-01-02 14:33:20.011 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 14:33:20.000011 1970-01-02 06:33:20.000011 NULL NULL
NULL NULL NULL NULL NULL NULL NULL SD7sdFD7 NULL NULL SD7sdFD7 1970-01-02 17:20:00.012 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 17:20:00.000012 1970-01-02 09:20:00.000012 NULL NULL
NULL NULL NULL NULL NULL NULL NULL gvv3hYwdfOD NULL NULL gvv3hYwdfOD 1970-01-02 20:06:40.013 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 20:06:40.000013 1970-01-02 12:06:40.000013 NULL NULL
NULL NULL NULL NULL NULL NULL NULL y8wjo4v50s6 NULL NULL y8wjo4v50s6 1970-01-02 22:53:20.014 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-02 22:53:20.000014 1970-01-02 14:53:20.000014 NULL NULL
NULL NULL NULL NULL NULL NULL NULL aNJW56SJieE8KVV NULL NULL aNJW56SJieE8KVV 1970-01-03 01:40:00.015 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 01:40:00.000015 1970-01-02 17:40:00.000015 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 1+2=3 NULL NULL 1+2=3 1970-01-03 04:26:40.016 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 04:26:40.000016 1970-01-02 20:26:40.000016 NULL NULL
NULL NULL NULL NULL NULL NULL NULL Hello World! NULL NULL Hello World! 1970-01-03 07:13:20.017 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 07:13:20.000017 1970-01-02 23:13:20.000017 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 1!!!1 NULL NULL 1!!!1 1970-01-03 10:00:00.018 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 10:00:00.000018 1970-01-03 02:00:00.000018 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 824407880313877 NULL NULL 824407880313877 1970-01-03 12:46:40.019 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 12:46:40.000019 1970-01-03 04:46:40.000019 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 1970-01-01 08:02:23 NULL NULL 1970-01-01 08:02:23 1970-01-03 15:33:20.020 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 15:33:20.000020 1970-01-03 07:33:20.000020 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 1970-05-31 NULL NULL 1970-05-31 1970-01-03 18:20:00.021 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 18:20:00.000021 1970-01-03 10:20:00.000021 NULL NULL
NULL NULL NULL NULL NULL NULL NULL xxx NULL NULL xxx 1970-01-03 21:06:40.022 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 21:06:40.000022 1970-01-03 13:06:40.000022 NULL NULL
NULL NULL NULL NULL NULL NULL NULL ONMKMQVBRWBUTWT NULL NULL ONMKMQVBRWBUTWT 1970-01-03 23:53:20.023 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-03 23:53:20.000023 1970-01-03 15:53:20.000023 NULL NULL
NULL NULL NULL NULL NULL NULL NULL ZWMWHSEZDYODQWP NULL NULL ZWMWHSEZDYODQWP 1970-01-04 02:40:00.024 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-04 02:40:00.000024 1970-01-03 18:40:00.000024 NULL NULL
NULL NULL NULL NULL NULL NULL NULL HoCYpJ NULL NULL HoCYpJ 1970-01-04 05:26:40.025 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-04 05:26:40.000025 1970-01-03 21:26:40.000025 NULL NULL
NULL NULL NULL NULL NULL NULL NULL -100 NULL NULL -100 1970-01-04 08:13:20.026 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-04 08:13:20.000026 1970-01-04 00:13:20.000026 NULL NULL
NULL NULL NULL NULL NULL NULL NULL Iqa8Nr NULL NULL Iqa8Nr 1970-01-04 11:00:00.027 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-04 11:00:00.000027 1970-01-04 03:00:00.000027 NULL NULL
NULL NULL NULL NULL NULL NULL NULL nD274v NULL NULL nD274v 1970-01-04 13:46:40.028 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-04 13:46:40.000028 1970-01-04 05:46:40.000028 NULL NULL
NULL NULL NULL NULL NULL NULL NULL 6y0JyW NULL NULL 6y0JyW 1970-01-04 16:33:20.029 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1970-01-04 16:33:20.000029 1970-01-04 08:33:20.000029 NULL NULL
SELECT COUNT(*) FROM t1;
COUNT(*)
60
DROP DATABASE mcol_5505_cpimport_parquet;

View File

@ -0,0 +1,36 @@
DROP DATABASE IF EXISTS mcol_5505_parquet_ddl;
CREATE DATABASE mcol_5505_parquet_ddl;
USE mcol_5505_parquet_ddl;
SHOW CREATE TABLE parquet_test_table;
Table Create Table
parquet_test_table CREATE TABLE `parquet_test_table` (
`col1` int(11) DEFAULT NULL,
`col2` bigint(20) DEFAULT NULL,
`col3` float DEFAULT NULL,
`col4` double DEFAULT NULL,
`col5` time(3) DEFAULT NULL,
`col6` varchar(2000) DEFAULT NULL,
`col7` varchar(2000) DEFAULT NULL,
`col8` varchar(2000) DEFAULT NULL,
`col9` varchar(2000) DEFAULT NULL,
`col10` varchar(2000) DEFAULT NULL,
`col11` varchar(2000) DEFAULT NULL,
`col12` timestamp(3) NULL DEFAULT NULL,
`col13` date DEFAULT NULL,
`col14` timestamp(3) NULL DEFAULT NULL,
`col15` smallint(6) DEFAULT NULL,
`col16` tinyint(4) DEFAULT NULL,
`col17` decimal(9,3) DEFAULT NULL,
`col18` int(10) unsigned DEFAULT NULL,
`col19` smallint(5) unsigned DEFAULT NULL,
`col20` tinyint(3) unsigned DEFAULT NULL,
`col21` bigint(20) unsigned DEFAULT NULL,
`col22` tinyint(1) DEFAULT NULL,
`col23` decimal(38,10) DEFAULT NULL,
`col24` time(6) DEFAULT NULL,
`col25` timestamp(6) NULL DEFAULT NULL,
`col26` timestamp(6) NULL DEFAULT NULL,
`col27` varbinary(8000) DEFAULT NULL,
`col28` char(4) DEFAULT NULL
) ENGINE=Columnstore DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
DROP DATABASE mcol_5505_parquet_ddl;

View File

@ -0,0 +1,82 @@
#
# parquet support for large volume data file
# Author: Bin Ruan, binruan0227@gmail.com
#
if (!$MYSQL_TEST_ROOT){
skip Should be run by root to execute cpimport;
}
-- source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcol_5505_parquet_large_volume;
--enable_warnings
CREATE DATABASE mcol_5505_parquet_large_volume;
USE mcol_5505_parquet_large_volume;
SET time_zone = '+8:00';
# Create table
Create TABLE t1(
col1 INT,
col2 TIMESTAMP(3),
col3 CHAR(6),
col4 DECIMAL(38,10),
col5 DOUBLE,
col6 VARCHAR(20)
) ENGINE=Columnstore;
Create TABLE t2(
col1 INT,
col2 TIMESTAMP(3),
col3 CHAR(6),
col4 DECIMAL(38,10),
col5 DOUBLE,
col6 VARCHAR(20)
) ENGINE=Columnstore;
Create TABLE t3(
col1 INT,
col2 TIMESTAMP(3),
col3 CHAR(6),
col4 DECIMAL(38,10),
col5 DOUBLE,
col6 VARCHAR(20)
) ENGINE=Columnstore;
Create TABLE t4(
col1 INT,
col2 TIMESTAMP(3),
col3 CHAR(6),
col4 DECIMAL(38,10),
col5 DOUBLE,
col6 VARCHAR(20)
) ENGINE=Columnstore;
# Generate data
--exec mcs_parquet_gen -l -f $MTR_SUITE_DIR/../std_data
#Valid data and table
--exec $MCS_CPIMPORT mcol_5505_parquet_large_volume t1 $MTR_SUITE_DIR/../std_data/1MRows.parquet >/dev/null
--exec $MCS_CPIMPORT mcol_5505_parquet_large_volume t2 $MTR_SUITE_DIR/../std_data/10MRows.parquet >/dev/null
--exec $MCS_CPIMPORT mcol_5505_parquet_large_volume t3 $MTR_SUITE_DIR/../std_data/50MRows.parquet >/dev/null
--exec $MCS_CPIMPORT mcol_5505_parquet_large_volume t4 $MTR_SUITE_DIR/../std_data/100MRows.parquet >/dev/null
SELECT * FROM t1 ORDER BY col1 LIMIT 5;
SELECT COUNT(*) FROM t1;
SELECT * FROM t2 ORDER BY col1 LIMIT 5;
SELECT COUNT(*) FROM t2;
SELECT * FROM t3 ORDER BY col1 LIMIT 5;
SELECT COUNT(*) FROM t3;
SELECT * FROM t4 ORDER BY col1 LIMIT 5;
SELECT COUNT(*) FROM t4;
# Clean UP
--exec rm $MTR_SUITE_DIR/../std_data/1MRows.parquet
--exec rm $MTR_SUITE_DIR/../std_data/10MRows.parquet
--exec rm $MTR_SUITE_DIR/../std_data/50MRows.parquet
--exec rm $MTR_SUITE_DIR/../std_data/100MRows.parquet
DROP DATABASE mcol_5505_parquet_large_volume;

View File

@ -0,0 +1,64 @@
#
# Check the parquet support for different data types
# Author: Bin Ruan, binruan0227@gmail.com
#
if (!$MYSQL_TEST_ROOT){
skip Should be run by root to execute cpimport;
}
-- source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcol_5505_cpimport_parquet;
--enable_warnings
CREATE DATABASE mcol_5505_cpimport_parquet;
USE mcol_5505_cpimport_parquet;
# Create table
SET time_zone = '+8:00';
Create TABLE t1(
col1 INT,
col2 BIGINT,
col3 FLOAT,
col4 DOUBLE,
col5 TIME(3),
col6 VARCHAR(2),
col7 VARCHAR(5),
col8 VARCHAR(20),
col9 CHAR(2),
col10 CHAR(5),
col11 CHAR(20),
col12 TIMESTAMP(3),
col13 DATE,
col14 DATETIME(3),
col15 SMALLINT,
col16 TINYINT,
col17 DECIMAL(9,3),
col18 INT UNSIGNED,
col19 SMALLINT UNSIGNED,
col20 TINYINT UNSIGNED,
col21 BIGINT UNSIGNED,
col22 BOOLEAN,
col23 DECIMAL(38,10),
col24 TIME(6),
col25 TIMESTAMP(6),
col26 DATETIME(6),
col27 CHAR(4),
col28 CHAR(4)
) ENGINE=Columnstore;
# Generate data
--exec mcs_parquet_gen -a -f $MTR_SUITE_DIR/../std_data
#Valid data and table
--exec $MCS_CPIMPORT mcol_5505_cpimport_parquet t1 $MTR_SUITE_DIR/../std_data/tests.parquet >/dev/null
--exec $MCS_CPIMPORT mcol_5505_cpimport_parquet t1 $MTR_SUITE_DIR/../std_data/nulls.parquet >/dev/null
SELECT * FROM t1;
SELECT COUNT(*) FROM t1;
# Clean UP
--exec rm $MTR_SUITE_DIR/../std_data/tests.parquet
--exec rm $MTR_SUITE_DIR/../std_data/nulls.parquet
DROP DATABASE mcol_5505_cpimport_parquet;

View File

@ -0,0 +1,33 @@
#
# check mcs_parquet_ddl tool
# Author: Bin Ruan, binruan0227@gmail.com
#
-- source ../include/have_columnstore.inc
--disable_warnings
DROP DATABASE IF EXISTS mcol_5505_parquet_ddl;
--enable_warnings
--disable_result_log
--exec mcs_parquet_gen -a -f $MTR_SUITE_DIR/../std_data
--exec mcs_parquet_ddl $MTR_SUITE_DIR/../std_data/tests.parquet $MTR_SUITE_DIR/../std_data/parquet_test_table.ddl
# Wrong source file type
--error 3
--exec mcs_parquet_ddl $MTR_SUITE_DIR/../std_data/int8.par $MTR_SUITE_DIR/../std_data/int8table.ddl
# Wrong number of argument files
--error 4
--exec mcs_parquet_ddl $MTR_SUITE_DIR/../std_data/tests.parquet
--enable_result_log
# Create table
CREATE DATABASE mcol_5505_parquet_ddl;
--exec $MYSQL mcol_5505_parquet_ddl < $MTR_SUITE_DIR/../std_data/parquet_test_table.ddl >/dev/null
USE mcol_5505_parquet_ddl;
SHOW CREATE TABLE parquet_test_table;
# Clean UP
--exec rm $MTR_SUITE_DIR/../std_data/tests.parquet
--exec rm $MTR_SUITE_DIR/../std_data/nulls.parquet
--exec rm $MTR_SUITE_DIR/../std_data/parquet_test_table.ddl
DROP DATABASE mcol_5505_parquet_ddl;