From 084434e25cb7967658ad2cc486eb4efc28bc3d86 Mon Sep 17 00:00:00 2001 From: Rayner Chen Date: Mon, 21 Oct 2024 21:31:18 +0800 Subject: [PATCH] [Test](tvf) add regression tests for testing orc reader #41606 #42188 (#42120) cherry pick from #42031 #42188 --------- Co-authored-by: Tiewei Fang <43782773+BePPPower@users.noreply.github.com> Co-authored-by: TieweiFang --- .../serde/data_type_datetimev2_serde.cpp | 10 - .../test_hdfs_orc_group0_orc_files.out | Bin 0 -> 101642 bytes .../test_hdfs_orc_group1_orc_files.out | 141 ++++++++ .../test_hdfs_orc_group2_orc_files.out | 23 ++ .../test_hdfs_orc_group3_orc_files.out | 106 ++++++ .../test_hdfs_orc_group4_orc_files.out | 121 +++++++ .../test_hdfs_orc_group5_orc_files.out | 27 ++ .../test_hdfs_orc_group6_orc_files.out | Bin 0 -> 11033 bytes .../test_hdfs_orc_group7_orc_files.out | Bin 0 -> 654 bytes .../test_hdfs_orc_group0_orc_files.groovy | 332 ++++++++++++++++++ .../test_hdfs_orc_group1_orc_files.groovy | 66 ++++ .../test_hdfs_orc_group2_orc_files.groovy | 55 +++ .../test_hdfs_orc_group3_orc_files.groovy | 44 +++ .../test_hdfs_orc_group4_orc_files.groovy | 72 ++++ .../test_hdfs_orc_group5_orc_files.groovy | 72 ++++ .../test_hdfs_orc_group6_orc_files.groovy | 317 +++++++++++++++++ .../test_hdfs_orc_group7_orc_files.groovy | 59 ++++ 17 files changed, 1435 insertions(+), 10 deletions(-) create mode 100644 regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group0_orc_files.out create mode 100644 regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group1_orc_files.out create mode 100644 regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group2_orc_files.out create mode 100644 regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group3_orc_files.out create mode 100644 regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group4_orc_files.out create mode 100644 regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group5_orc_files.out create mode 100644 regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group6_orc_files.out create mode 100644 regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group7_orc_files.out create mode 100644 regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group0_orc_files.groovy create mode 100644 regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group1_orc_files.groovy create mode 100644 regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group2_orc_files.groovy create mode 100644 regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group3_orc_files.groovy create mode 100644 regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group4_orc_files.groovy create mode 100644 regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group5_orc_files.groovy create mode 100644 regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group6_orc_files.groovy create mode 100644 regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group7_orc_files.groovy diff --git a/be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp b/be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp index 4512cd0dff..12d30961e3 100644 --- a/be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp +++ b/be/src/vec/data_types/serde/data_type_datetimev2_serde.cpp @@ -32,8 +32,6 @@ enum { }; namespace doris::vectorized { -static const int64_t timestamp_threshold = -2177481943; -static const int64_t timestamp_diff = 343; static const int64_t micr_to_nano_second = 1000; Status DataTypeDateTimeV2SerDe::serialize_column_to_json(const IColumn& column, int start_idx, @@ -232,14 +230,6 @@ Status DataTypeDateTimeV2SerDe::write_column_to_orc(const std::string& timezone, return Status::InternalError("get unix timestamp error."); } - // -2177481943 represent '1900-12-31 23:54:17' - // but -2177481944 represent '1900-12-31 23:59:59' - // so for timestamp <= -2177481944, we subtract 343 (5min 43s) - // Reference: https://www.timeanddate.com/time/change/china/shanghai?year=1900 - if (timezone == TimezoneUtils::default_time_zone && timestamp < timestamp_threshold) { - timestamp -= timestamp_diff; - } - cur_batch->data[row_id] = timestamp; cur_batch->nanoseconds[row_id] = datetime_val.microsecond() * micr_to_nano_second; } diff --git a/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group0_orc_files.out b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group0_orc_files.out new file mode 100644 index 0000000000000000000000000000000000000000..01158a2fb603f254f6d13e2651976d21f6929639 GIT binary patch literal 101642 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�Ye$E~NG3 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 RAj1t!47e=8N=y>DxB&jF(@+2a literal 0 HcmV?d00001 diff --git a/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group1_orc_files.out b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group1_orc_files.out new file mode 100644 index 0000000000..12864d9c8a --- /dev/null +++ b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group1_orc_files.out @@ -0,0 +1,141 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !test_0 -- +0200-02-10 +0947-02-16 +1012-02-27 +1014-02-17 +1947-02-11 +2012-02-21 +2014-02-11 +8200-02-11 + +-- !test_3 -- +2 foo 0.8 1 1969-12-31T16:00 +5 eat 0.8 6 1969-12-31T16:00:20 +13 bar 80.0 2 1969-12-31T16:00:05 +29 cat 8.0 3 1969-12-31T16:00:10 +70 dog 1.8 4 1969-12-31T16:00:15 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 +100 zebra 8.0 0 1969-12-31T16:04:10 + +-- !test_4 -- +105685 almond antique violet chocolate turquoise Manufacturer#2 Brand#22 MEDIUM ANODIZED COPPER 14 MED CAN 1690.68 ly pending requ +110592 almond antique salmon chartreuse burlywood Manufacturer#1 Brand#15 PROMO BURNISHED NICKEL 6 JUMBO PKG 1602.59 to the furiously +112398 almond antique metallic orange dim Manufacturer#3 Brand#32 MEDIUM BURNISHED BRASS 19 JUMBO JAR 1410.39 ole car +121152 almond antique burnished rose metallic Manufacturer#1 Brand#14 PROMO PLATED TIN 2 JUMBO BOX 1173.15 e pinto beans h +121152 almond antique burnished rose metallic Manufacturer#1 Brand#14 PROMO PLATED TIN 2 JUMBO BOX 1173.15 e pinto beans h +132666 almond aquamarine rose maroon antique Manufacturer#2 Brand#24 SMALL POLISHED NICKEL 25 MED BOX 1698.66 even +144293 almond antique olive coral navajo Manufacturer#3 Brand#34 STANDARD POLISHED STEEL 45 JUMBO CAN 1337.29 ag furiously about +146985 almond aquamarine midnight light salmon Manufacturer#2 Brand#23 MEDIUM BURNISHED COPPER 2 SM CASE 2031.98 s cajole caref +15103 almond aquamarine dodger light gainsboro Manufacturer#5 Brand#53 ECONOMY BURNISHED STEEL 46 LG PACK 1018.1 packages hinder carefu +155733 almond antique sky peru orange Manufacturer#5 Brand#53 SMALL PLATED BRASS 2 WRAP DRUM 1788.73 furiously. bra +17273 almond antique forest lavender goldenrod Manufacturer#3 Brand#35 PROMO ANODIZED TIN 14 JUMBO CASE 1190.27 along the +17927 almond aquamarine yellow dodger mint Manufacturer#4 Brand#41 ECONOMY BRUSHED COPPER 7 SM PKG 1844.92 ites. eve +191709 almond antique violet turquoise frosted Manufacturer#2 Brand#22 ECONOMY POLISHED STEEL 40 MED BOX 1800.7 haggle +192697 almond antique blue firebrick mint Manufacturer#5 Brand#52 MEDIUM BURNISHED TIN 31 LG DRUM 1789.69 ickly ir +195606 almond aquamarine sandy cyan gainsboro Manufacturer#2 Brand#25 STANDARD PLATED TIN 18 SM PKG 1701.6 ic de +33357 almond azure aquamarine papaya violet Manufacturer#4 Brand#41 STANDARD ANODIZED TIN 12 WRAP CASE 1290.35 reful +40982 almond antique misty red olive Manufacturer#3 Brand#32 ECONOMY PLATED COPPER 1 LG PKG 1922.98 c foxes can s +42669 almond antique medium spring khaki Manufacturer#5 Brand#51 STANDARD BURNISHED TIN 6 MED CAN 1611.66 sits haggl +45261 almond aquamarine floral ivory bisque Manufacturer#4 Brand#42 SMALL PLATED STEEL 27 WRAP CASE 1206.26 careful +48427 almond antique violet mint lemon Manufacturer#4 Brand#42 PROMO POLISHED STEEL 39 SM CASE 1375.42 hely ironic i +49671 almond antique gainsboro frosted violet Manufacturer#4 Brand#41 SMALL BRUSHED BRASS 10 SM BOX 1620.67 ccounts run quick +65667 almond aquamarine pink moccasin thistle Manufacturer#1 Brand#12 LARGE BURNISHED STEEL 42 JUMBO CASE 1632.66 e across the expr +78486 almond azure blanched chiffon midnight Manufacturer#5 Brand#52 LARGE BRUSHED BRASS 23 MED BAG 1464.48 hely blith +85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull +86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully +90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl + diff --git a/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group2_orc_files.out b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group2_orc_files.out new file mode 100644 index 0000000000..3046384b92 --- /dev/null +++ b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group2_orc_files.out @@ -0,0 +1,23 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !test_0 -- +row 000000 +row 000001 +row 000002 +row 000003 +row 000004 +row 000005 +row 000006 +row 000007 +row 000008 +row 000009 + +-- !test_1 -- +1200-01-08 + +-- !test_2 -- +0 + +-- !test_3 -- +Alyssa \N [3, 9, 15, 20] +Ben red [] + diff --git a/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group3_orc_files.out b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group3_orc_files.out new file mode 100644 index 0000000000..efb80d6c5f --- /dev/null +++ b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group3_orc_files.out @@ -0,0 +1,106 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !test_0 -- +42 + +-- !test_1 -- +-1155099828 0 -8072133231410116475 +-836442134 1 1238145679872042884 +-995758198 2 -7837173574477374810 +-634239373 3 -6265997042966714236 +-830330741 4 1226587808838328746 +1767665612 5 -3483296404361882349 +-234435524 6 -2492777959717761890 +-1237341112 7 -1655110853862828106 +-3666739 8 762716722992837914 +594038518 9 -414822555163282702 +680485277 10 -8438545694061423851 +1990579537 11 1725616428769673202 +1904347123 12 7487194301641871634 +318397575 13 5284947443410977522 +726871265 14 -4971309310269585972 +470886284 15 -1048347571663351969 +-469827848 16 5914087625780064167 +-1935288453 17 -7901283747506674198 +1091416458 18 6617893815478315911 +589802492 19 -715526239534668540 +1433595053 20 7812935714614531047 +1463956372 21 7736151544221720702 +538577990 22 4280956441582620229 +261903418 23 8643666910095216441 +726547892 24 4589536732286802996 +1827934852 25 5220768139842995762 +-2142712056 26 8452212129931893439 +-1979643329 27 9192676079737912910 +1439902652 28 -5485358416046815779 +1509471580 29 -2900537060362111313 +231072361 30 -1166373669027043549 +-697207184 31 -4941710932145227910 +-1897073668 32 -1214632250906731010 +492728889 33 882146759164402004 +441673793 34 -1623585845533786862 +1053599723 35 -7650598155209059322 +1220936946 36 733466437358115738 +1770977837 37 -1075813735198997759 +332258178 38 5380612601496486616 +-1323562223 39 -2783026025528108869 +2127527772 40 4508443200032579318 +1127644012 41 -6689049007808433632 +-1518802603 42 5499312000257318891 +1211783764 43 -4583514533579607671 +673031799 44 2616088513476383289 +1357179832 45 7306204410731777268 +641449848 46 -7300459700312065882 +1678603587 47 -2031057129963086472 +-479585417 48 5657078495382185794 +218433295 49 -4753393794365190618 +-168375338 50 641301706817379655 +-168670764 51 -5560416134812969260 +-688521145 52 -2939353597904605496 +1521405587 53 -7202421235678721139 +280766823 54 1482820802614970407 +2006072305 55 2582426602654761877 +2841986 56 -3096925422848703303 +1823577017 57 3525728051657376574 +86980171 58 6283812381833889592 +-729958587 59 6505103417183468045 +58615730 60 2130961958634360268 +959699894 61 2427093929580813013 +-1125707998 62 -3191632577313116988 +1004001096 63 8703825967927764437 +1139572680 64 6580459837064512104 +-474634457 65 -1099847229116957438 +-140317777 66 2216635117068313445 +492523913 67 -5990170212825458438 +-842003748 68 5108694483378094778 +794552832 69 -6096899967171477161 +-844195667 70 5179278291182829888 +1984499260 71 6237468570917148003 +-1177191130 72 -7377861005267193838 +-1938669641 73 8248065364431718993 +272665329 74 5506944610710795910 +1705319172 75 -6584616164208436602 +-1108396995 76 1345540141198804862 +440543153 77 -85607681367308891 +2032289729 78 -5986629849796103379 +-842603518 79 -1064662868388789428 +-361562994 80 1801059877260196266 +-1174579731 81 -5036539402851796276 +-1831395724 82 8364289038127439850 +-1980899554 83 -702572046954790847 +743792160 84 4229501672312896502 +1422058480 85 -391320938771541039 +1492414283 86 -1809927736944097678 +-1820060267 87 -6396528855664002559 +1375472775 88 1126092692710756057 +-839029264 89 -3470724079771464614 +1119484814 90 87521117139371251 +-365152316 91 3748318374606874591 +-1851648474 92 560370592390608245 +-524654524 93 2263722670392996598 +-1318061333 94 8352976901787855054 +1720264500 95 -5276809390947146025 +503688873 96 1116640964922907260 +-1033291508 97 8338246827928889510 +1306784267 98 -4929504406024123242 +-179756314 99 2571427694455332022 + diff --git a/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group4_orc_files.out b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group4_orc_files.out new file mode 100644 index 0000000000..1f5ea97414 --- /dev/null +++ b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group4_orc_files.out @@ -0,0 +1,121 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !test_0 -- +2022-06-10T05:26:22.753999 2022-06-09T21:26:22.753999 + +-- !test_1 -- +1 John Doe + +-- !test_2 -- +\N +127 + +-- !test_3 -- +\N +32767 + +-- !test_4 -- +0 1 536870912 0 1 {"a":1} +0 2 536870912 0 2 {"a":2} + +-- !test_5 -- +-1155099828 0 -8072133231410116475 +-836442134 1 1238145679872042884 +-995758198 2 -7837173574477374810 +-634239373 3 -6265997042966714236 +-830330741 4 1226587808838328746 +1767665612 5 -3483296404361882349 +-234435524 6 -2492777959717761890 +-1237341112 7 -1655110853862828106 +-3666739 8 762716722992837914 +594038518 9 -414822555163282702 +680485277 10 -8438545694061423851 +1990579537 11 1725616428769673202 +1904347123 12 7487194301641871634 +318397575 13 5284947443410977522 +726871265 14 -4971309310269585972 +470886284 15 -1048347571663351969 +-469827848 16 5914087625780064167 +-1935288453 17 -7901283747506674198 +1091416458 18 6617893815478315911 +589802492 19 -715526239534668540 +1433595053 20 7812935714614531047 +1463956372 21 7736151544221720702 +538577990 22 4280956441582620229 +261903418 23 8643666910095216441 +726547892 24 4589536732286802996 +1827934852 25 5220768139842995762 +-2142712056 26 8452212129931893439 +-1979643329 27 9192676079737912910 +1439902652 28 -5485358416046815779 +1509471580 29 -2900537060362111313 +231072361 30 -1166373669027043549 +-697207184 31 -4941710932145227910 +-1897073668 32 -1214632250906731010 +492728889 33 882146759164402004 +441673793 34 -1623585845533786862 +1053599723 35 -7650598155209059322 +1220936946 36 733466437358115738 +1770977837 37 -1075813735198997759 +332258178 38 5380612601496486616 +-1323562223 39 -2783026025528108869 +2127527772 40 4508443200032579318 +1127644012 41 -6689049007808433632 +-1518802603 42 5499312000257318891 +1211783764 43 -4583514533579607671 +673031799 44 2616088513476383289 +1357179832 45 7306204410731777268 +641449848 46 -7300459700312065882 +1678603587 47 -2031057129963086472 +-479585417 48 5657078495382185794 +218433295 49 -4753393794365190618 +-168375338 50 641301706817379655 +-168670764 51 -5560416134812969260 +-688521145 52 -2939353597904605496 +1521405587 53 -7202421235678721139 +280766823 54 1482820802614970407 +2006072305 55 2582426602654761877 +2841986 56 -3096925422848703303 +1823577017 57 3525728051657376574 +86980171 58 6283812381833889592 +-729958587 59 6505103417183468045 +58615730 60 2130961958634360268 +959699894 61 2427093929580813013 +-1125707998 62 -3191632577313116988 +1004001096 63 8703825967927764437 +1139572680 64 6580459837064512104 +-474634457 65 -1099847229116957438 +-140317777 66 2216635117068313445 +492523913 67 -5990170212825458438 +-842003748 68 5108694483378094778 +794552832 69 -6096899967171477161 +-844195667 70 5179278291182829888 +1984499260 71 6237468570917148003 +-1177191130 72 -7377861005267193838 +-1938669641 73 8248065364431718993 +272665329 74 5506944610710795910 +1705319172 75 -6584616164208436602 +-1108396995 76 1345540141198804862 +440543153 77 -85607681367308891 +2032289729 78 -5986629849796103379 +-842603518 79 -1064662868388789428 +-361562994 80 1801059877260196266 +-1174579731 81 -5036539402851796276 +-1831395724 82 8364289038127439850 +-1980899554 83 -702572046954790847 +743792160 84 4229501672312896502 +1422058480 85 -391320938771541039 +1492414283 86 -1809927736944097678 +-1820060267 87 -6396528855664002559 +1375472775 88 1126092692710756057 +-839029264 89 -3470724079771464614 +1119484814 90 87521117139371251 +-365152316 91 3748318374606874591 +-1851648474 92 560370592390608245 +-524654524 93 2263722670392996598 +-1318061333 94 8352976901787855054 +1720264500 95 -5276809390947146025 +503688873 96 1116640964922907260 +-1033291508 97 8338246827928889510 +1306784267 98 -4929504406024123242 +-179756314 99 2571427694455332022 + diff --git a/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group5_orc_files.out b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group5_orc_files.out new file mode 100644 index 0000000000..3440963fca --- /dev/null +++ b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group5_orc_files.out @@ -0,0 +1,27 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !test_1 -- +123 1 +456 2 + +-- !test_2 -- +[{"elem1":1, "elem2":"123", "elem3":9.8, "nested":[{"elem1":1, "elem2":"123", "elem3":9.8}, {"elem1":2, "elem2":"456", "elem3":10.12}, {"elem1":3, "elem2":"789", "elem3":11.14}]}, {"elem1":2, "elem2":"456", "elem3":10.12, "nested":[{"elem1":4, "elem2":"101112", "elem3":123.8}, {"elem1":5, "elem2":"131415", "elem3":10.2}, {"elem1":6, "elem2":"161718", "elem3":11.414}]}, {"elem1":3, "elem2":"789", "elem3":11.14, "nested":[{"elem1":7, "elem2":"101", "elem3":13.08}, {"elem1":8, "elem2":"415", "elem3":1.12}, {"elem1":9, "elem2":"118", "elem3":0.414}]}] +[{"elem1":4, "elem2":"101112", "elem3":123.8, "nested":[{"elem1":1, "elem2":"123", "elem3":9.8}, {"elem1":2, "elem2":"456", "elem3":10.12}, {"elem1":3, "elem2":"789", "elem3":11.14}]}, {"elem1":5, "elem2":"131415", "elem3":10.2, "nested":[{"elem1":4, "elem2":"101112", "elem3":123.8}, {"elem1":5, "elem2":"131415", "elem3":10.2}, {"elem1":6, "elem2":"161718", "elem3":11.414}]}, {"elem1":6, "elem2":"161718", "elem3":11.414, "nested":[{"elem1":7, "elem2":"101", "elem3":13.08}, {"elem1":8, "elem2":"415", "elem3":1.12}, {"elem1":9, "elem2":"118", "elem3":0.414}]}] +[{"elem1":7, "elem2":"101", "elem3":13.08, "nested":[{"elem1":1, "elem2":"123", "elem3":9.8}, {"elem1":2, "elem2":"456", "elem3":10.12}, {"elem1":3, "elem2":"789", "elem3":11.14}]}, {"elem1":8, "elem2":"415", "elem3":1.12, "nested":[{"elem1":4, "elem2":"101112", "elem3":123.8}, {"elem1":5, "elem2":"131415", "elem3":10.2}, {"elem1":6, "elem2":"161718", "elem3":11.414}]}, {"elem1":9, "elem2":"118", "elem3":0.414, "nested":[{"elem1":7, "elem2":"101", "elem3":13.08}, {"elem1":8, "elem2":"415", "elem3":1.12}, {"elem1":9, "elem2":"118", "elem3":0.414}]}] + +-- !test_3 -- +1 2024-06-30T20:00 + +-- !test_4 -- +123 1 +456 2 + +-- !test_5 -- +[{"elem1":1, "elem2":"123", "elem3":9.8}, {"elem1":2, "elem2":"456", "elem3":10.12}, {"elem1":3, "elem2":"789", "elem3":11.14}] +[{"elem1":4, "elem2":"101112", "elem3":123.8}, {"elem1":5, "elem2":"131415", "elem3":10.2}, {"elem1":6, "elem2":"161718", "elem3":11.414}] +[{"elem1":7, "elem2":"101", "elem3":13.08}, {"elem1":8, "elem2":"415", "elem3":1.12}, {"elem1":9, "elem2":"118", "elem3":0.414}] + +-- !test_6 -- +\N \N +[0] ["Test 0"] +[null] [null] + diff --git a/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group6_orc_files.out b/regression-test/data/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group6_orc_files.out new file mode 100644 index 0000000000000000000000000000000000000000..85b52a6b28fb6f86b7db14324fbdd7cc675df3d1 GIT binary patch literal 11033 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 DwY<1d literal 0 HcmV?d00001 diff --git a/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group0_orc_files.groovy b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group0_orc_files.groovy new file mode 100644 index 0000000000..924ceca420 --- /dev/null +++ b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group0_orc_files.groovy @@ -0,0 +1,332 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hdfs_orc_group0_orc_files","external,hive,tvf,external_docker") { + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + + def hdfsUserName = "doris" + def defaultFS = "hdfs://${externalEnvIp}:${hdfs_port}" + def uri = "" + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + try { + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/decimal.orc" + order_qt_test_0 """ select sum(_col0) from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testSargSkipPickupGroupWithoutIndexJava.orc" + order_qt_test_1 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 10; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/sample2.orc" + order_qt_test_2 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/sample1.orc" + order_qt_test_3 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.test1.orc" + order_qt_test_4 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testWithoutIndex.orc" + order_qt_test_5 """ select count(*) from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestVectorOrcFile.testLz4.orc" + order_qt_test_6 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by y limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testSargSkipPickupGroupWithoutIndexCPlusPlus.orc" + order_qt_test_7 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by x limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestVectorOrcFile.testZstd.0.12.orc" + order_qt_test_9 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by y limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestStringDictionary.testRowIndex.orc" + order_qt_test_10 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by str limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testPredicatePushdown.orc" + order_qt_test_11 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by int1 limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.metaData.orc" + order_qt_test_12 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/col.dot.orc" + order_qt_test_13 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/zero.orc" + order_qt_test_15 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.columnProjection.orc" + order_qt_test_18 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by int1 limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/orc_no_format.orc" + order_qt_test_19 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testStringAndBinaryStatistics.orc" + order_qt_test_20 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/orc_split_elim_cpp.orc" + order_qt_test_21 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by userid limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/demo-11-none.orc" + order_qt_test_22 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by _col0 limit 100; """ + + order_qt_test_22_2 """ select count(_col0) from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testDate2038.orc" + order_qt_test_23 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by time limit 10; """ + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/nulls-at-end-snappy.orc" + order_qt_test_25 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by _col0 DESC limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestVectorOrcFile.testLzo.orc" + order_qt_test_26 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by y limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/decimal64_v2_cplusplus.orc" + order_qt_test_27 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/complextypes_iceberg.orc" + order_qt_test_28 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/bad_bloom_filter_1.6.11.orc" + order_qt_test_30 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/demo-11-zlib.orc" + order_qt_test_31 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by _col0 limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/acid5k.orc" + order_qt_test_32 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by rowid limit 100; """ + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/orc_index_int_string.orc" + order_qt_test_34 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by _col0 limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testMemoryManagementV12.orc" + order_qt_test_35 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by int1 limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testSnappy.orc" + order_qt_test_36 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by int1 limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/demo-12-zlib.orc" + order_qt_test_37 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by _col0 limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/over1k_bloom.orc" + order_qt_test_38 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by _col0 DESC, _col1 DESC limit 98; """ + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/orc-file-no-timezone.orc" + order_qt_test_41 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/decimal64_v2.orc" + order_qt_test_42 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/orc-file-dst-no-timezone.orc" + order_qt_test_43 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.emptyFile.orc" + order_qt_test_44 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testSeek.orc" + order_qt_test_45 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by int1 limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/orc-file-no-double-statistic.orc" + order_qt_test_46 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/orc_split_elim.orc" + order_qt_test_47 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by userid limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testStripeLevelStats.orc" + order_qt_test_48 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 10; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/orc_split_elim_new.orc" + order_qt_test_49 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by userid limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/bad_bloom_filter_1.6.0.orc" + order_qt_test_50 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group0/TestOrcFile.testMemoryManagementV11.orc" + order_qt_test_51 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by int1 limit 100; """ + } finally { + } + } +} diff --git a/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group1_orc_files.groovy b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group1_orc_files.groovy new file mode 100644 index 0000000000..44176a47fd --- /dev/null +++ b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group1_orc_files.groovy @@ -0,0 +1,66 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hdfs_orc_group1_orc_files","external,hive,tvf,external_docker") { + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + + def hdfsUserName = "doris" + def defaultFS = "hdfs://${externalEnvIp}:${hdfs_port}" + def uri = "" + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + try { + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group1/orc_legacy_mixed_dates.orc" + order_qt_test_0 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + // There are a timestamp problem in this case. + // uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group1/orc_legacy_mixed_timestamps.orc" + // order_qt_test_1 """ select * from HDFS( + // "uri" = "${uri}", + // "hadoop.username" = "${hdfsUserName}", + // "format" = "orc"); """ + + // Doris cannot read this ORC file because of a NOT_IMPLEMENT error. + + // uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group1/orc-file-11-format.orc" + // order_qt_test_2 """ select * from HDFS( + // "uri" = "${uri}", + // "hadoop.username" = "${hdfsUserName}", + // "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group1/orc_split_elim.orc" + qt_test_3 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by userid limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group1/part.orc" + order_qt_test_4 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + } finally { + } + } +} diff --git a/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group2_orc_files.groovy b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group2_orc_files.groovy new file mode 100644 index 0000000000..4495494a3f --- /dev/null +++ b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group2_orc_files.groovy @@ -0,0 +1,55 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hdfs_orc_group2_orc_files","external,hive,tvf,external_docker") { + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + + def hdfsUserName = "doris" + def defaultFS = "hdfs://${externalEnvIp}:${hdfs_port}" + def uri = "" + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + try { + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group2/TestStringDictionary.testRowIndex.orc" + order_qt_test_0 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 10; """ + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group2/before_1582_date_v2_4.snappy.orc" + order_qt_test_1 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group2/part-r-00000-829af031-b970-49d6-ad39-30460a0be2c8.orc" + order_qt_test_2 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group2/users.orc" + order_qt_test_3 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + } finally { + } + } +} diff --git a/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group3_orc_files.groovy b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group3_orc_files.groovy new file mode 100644 index 0000000000..1670909ea4 --- /dev/null +++ b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group3_orc_files.groovy @@ -0,0 +1,44 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hdfs_orc_group3_orc_files","external,hive,tvf,external_docker") { + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + + def hdfsUserName = "doris" + def defaultFS = "hdfs://${externalEnvIp}:${hdfs_port}" + def uri = "" + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + try { + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group3/data.orc" + order_qt_test_0 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group3/apache-lz4.orc" + qt_test_1 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by y limit 100; """ + } finally { + } + } +} diff --git a/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group4_orc_files.groovy b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group4_orc_files.groovy new file mode 100644 index 0000000000..bf362d442d --- /dev/null +++ b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group4_orc_files.groovy @@ -0,0 +1,72 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hdfs_orc_group4_orc_files","external,hive,tvf,external_docker") { + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + + def hdfsUserName = "doris" + def defaultFS = "hdfs://${externalEnvIp}:${hdfs_port}" + def uri = "" + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + try { + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group4/timestamp-tz-micros.orc" + order_qt_test_0 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group4/data.orc" + order_qt_test_1 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group4/single-tinyint-column.orc" + order_qt_test_2 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group4/single-smallint-column.orc" + order_qt_test_3 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group4/orcFileWithoutRowGroupInfo.orc" + order_qt_test_4 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group4/apache-lz4.orc" + qt_test_5 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by y limit 100; """ + } finally { + } + } +} diff --git a/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group5_orc_files.groovy b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group5_orc_files.groovy new file mode 100644 index 0000000000..379d6604e7 --- /dev/null +++ b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group5_orc_files.groovy @@ -0,0 +1,72 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hdfs_orc_group5_orc_files","external,hive,tvf,external_docker") { + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + + def hdfsUserName = "doris" + def defaultFS = "hdfs://${externalEnvIp}:${hdfs_port}" + def uri = "" + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + try { + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group5/case_insensitive_column_matching.orc" + order_qt_test_1 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group5/nested_nested_table.orc" + order_qt_test_2 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group5/test_reader_time_zone.snappy.orc" + order_qt_test_3 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group5/test_setting_input_format_use_lowercase_column_name.orc" + order_qt_test_4 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group5/nested_table.orc" + order_qt_test_5 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group5/test_null_array.orc" + order_qt_test_6 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + } finally { + } + } +} diff --git a/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group6_orc_files.groovy b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group6_orc_files.groovy new file mode 100644 index 0000000000..0afe32746d --- /dev/null +++ b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group6_orc_files.groovy @@ -0,0 +1,317 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hdfs_orc_group6_orc_files","external,hive,tvf,external_docker") { + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + + def hdfsUserName = "doris" + def defaultFS = "hdfs://${externalEnvIp}:${hdfs_port}" + def uri = "" + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + try { + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/array_data_only.orc" + order_qt_test_0 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_positional_column.orc" + order_qt_test_1 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/issue_16365.orc" + order_qt_test_2 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/boolean_type.orc" + order_qt_test_3 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/map_data_only.orc" + order_qt_test_4 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/data-bb44368c-b491-49ab-b81a-eea013f94132-0.orc" + order_qt_test_5 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/empty_row_index.orc" + order_qt_test_6 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_varchar_column.orc" + order_qt_test_7 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_array_basic.orc" + order_qt_test_8 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_struct_array_map_basic.orc" + order_qt_test_9 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/writer_tz_utc.orc" + order_qt_test_10 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_binary_column.orc" + order_qt_test_11 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/writer_at_shanghai.orc" + order_qt_test_12 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/struct_data_only.orc" + order_qt_test_13 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/compound.orc" + order_qt_test_14 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/data-32204456-8395-4f77-9347-b2d40939a5d5-0.orc" + order_qt_test_15 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/map_decimal_date.lz4.orc" + order_qt_test_16 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/string-2-double.orc" + order_qt_test_17 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/row-4k-id.orc" + order_qt_test_18 """ select sum(id) from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_struct_basic.orc" + order_qt_test_19 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/writer_tz_shanghai.orc" + order_qt_test_20 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/non_vec_orc_scanner.orc" + order_qt_test_21 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/tinyint.orc" + order_qt_test_22 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_upper_case.orc" + order_qt_test_23 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_padding_char.orc" + order_qt_test_24 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/date_type.orc" + order_qt_test_25 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/scalar_types.orc" + order_qt_test_26 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_test_time_column.orc" + order_qt_test_27 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/two-strips-dict-and-nodict.orc" + order_qt_test_28 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/data-07ea8d48-6012-4a76-a564-c422995189f2-0.orc" + order_qt_test_29 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/type_mismatch.orc" + order_qt_test_30 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/map_type_mismatched.orc" + order_qt_test_31 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/decimal_and_timestamp.orc" + order_qt_test_32 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/string-dict-column.orc" + qt_test_33 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") order by col1 limit 10; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/orc_zero_size_stream.orc" + order_qt_test_34 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/boolean_slot_ref.orc" + order_qt_test_35 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/multi_stripes.orc" + qt_test_36 """ select c1, sum(c0) from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") group by c1 order by c1; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/padding_char_varchar_10k.orc" + order_qt_test_37 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc") limit 10; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/map_filter_bug.orc" + order_qt_test_38 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/timestamp.orc" + order_qt_test_39 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group6/dec_orc.orc" + order_qt_test_40 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + } finally { + } + } +} diff --git a/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group7_orc_files.groovy b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group7_orc_files.groovy new file mode 100644 index 0000000000..ef43761b89 --- /dev/null +++ b/regression-test/suites/external_table_p0/tvf/orc_tvf/test_hdfs_orc_group7_orc_files.groovy @@ -0,0 +1,59 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("test_hdfs_orc_group7_orc_files","external,hive,tvf,external_docker") { + String hdfs_port = context.config.otherConfigs.get("hive2HdfsPort") + String externalEnvIp = context.config.otherConfigs.get("externalEnvIp") + + def hdfsUserName = "doris" + def defaultFS = "hdfs://${externalEnvIp}:${hdfs_port}" + def uri = "" + + String enabled = context.config.otherConfigs.get("enableHiveTest") + if (enabled != null && enabled.equalsIgnoreCase("true")) { + try { + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group7/decimal.orc" + qt_test_0 """ select sum(_col0) from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group7/TestOrcFile.test1.orc" + qt_test_1 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + + + // There are a timestamp problem in this case. + // uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group7/TestOrcFile.testDate1900.orc" + // qt_test_2 """ select * from HDFS( + // "uri" = "${uri}", + // "hadoop.username" = "${hdfsUserName}", + // "format" = "orc") order by time limit 100; """ + + + uri = "${defaultFS}" + "/user/doris/tvf_data/test_hdfs_orc/group7/TestOrcFile.emptyFile.orc" + qt_test_3 """ select * from HDFS( + "uri" = "${uri}", + "hadoop.username" = "${hdfsUserName}", + "format" = "orc"); """ + } finally { + } + } +}