This is an automated email from the ASF dual-hosted git repository.

dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 40638f542a1 [regression] add regression-test for s3 tvf (#35406)
40638f542a1 is described below

commit 40638f542a1d7280c8ebace5ab559ec9b9345a57
Author: 133tosakarin <97331129+133tosaka...@users.noreply.github.com>
AuthorDate: Thu Jun 27 14:12:29 2024 +0800

    [regression] add regression-test for s3 tvf (#35406)
    
    I had added some regression test for s3 tvf, all requirse of test cases
    refer to https://github.com/apache/doris/issues/32576
---
 regression-test/data/load_p0/tvf/test_s3_tvf.out   | 358 ++++++++++++--
 .../suites/load_p0/tvf/ddl/nest_tbl_basic_tvf.sql  |  29 ++
 .../load_p0/tvf/ddl/nest_tbl_basic_tvf_drop.sql    |   1 +
 .../suites/load_p0/tvf/test_s3_tvf.groovy          | 526 ++++++++++++++++++++-
 4 files changed, 859 insertions(+), 55 deletions(-)

diff --git a/regression-test/data/load_p0/tvf/test_s3_tvf.out 
b/regression-test/data/load_p0/tvf/test_s3_tvf.out
index 88b962cfd6c..1e1da717ad9 100644
--- a/regression-test/data/load_p0/tvf/test_s3_tvf.out
+++ b/regression-test/data/load_p0/tvf/test_s3_tvf.out
@@ -11,17 +11,44 @@
 -- !select --
 20
 
+-- !select --
+40
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+60
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
 -- !select --
 18
 
 -- !select --
-16
+18
 
 -- !select --
-16
+79
 
 -- !select --
-40
+20
 
 -- !select --
 20
@@ -29,20 +56,38 @@
 -- !select --
 20
 
+-- !select --
+39
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+98
+
 -- !select --
 20
 
 -- !select --
-36
+20
 
 -- !select --
-16
+20
 
 -- !select --
-16
+58
 
 -- !select --
-60
+18
+
+-- !select --
+18
+
+-- !select --
+117
 
 -- !select --
 20
@@ -54,16 +99,16 @@
 20
 
 -- !select --
-54
+77
 
 -- !select --
-16
+18
 
 -- !select --
-16
+18
 
 -- !select --
-60
+137
 
 -- !select --
 20
@@ -75,16 +120,16 @@
 20
 
 -- !select --
-54
+95
 
 -- !select --
-16
+18
 
 -- !select --
-16
+18
 
 -- !select --
-70
+157
 
 -- !select --
 20
@@ -96,16 +141,19 @@
 20
 
 -- !select --
-64
+113
+
+-- !select --
+18
 
 -- !select --
-16
+18
 
 -- !select --
-16
+5
 
 -- !select --
-90
+177
 
 -- !select --
 20
@@ -117,16 +165,16 @@
 20
 
 -- !select --
-82
+131
 
 -- !select --
-16
+18
 
 -- !select --
-16
+18
 
 -- !select --
-110
+197
 
 -- !select --
 20
@@ -138,16 +186,16 @@
 20
 
 -- !select --
-100
+149
 
 -- !select --
-16
+18
 
 -- !select --
-16
+18
 
 -- !select --
-130
+217
 
 -- !select --
 20
@@ -159,16 +207,16 @@
 20
 
 -- !select --
-118
+167
 
 -- !select --
-16
+18
 
 -- !select --
-16
+18
 
 -- !select --
-142
+237
 
 -- !select --
 20
@@ -180,13 +228,19 @@
 20
 
 -- !select --
-123
+185
 
 -- !select --
-16
+18
 
 -- !select --
-16
+18
+
+-- !select --
+257
+
+-- !select --
+20
 
 -- !select --
 20
@@ -195,7 +249,16 @@
 20
 
 -- !select --
-162
+203
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+277
 
 -- !select --
 20
@@ -207,16 +270,16 @@
 20
 
 -- !select --
-141
+221
 
 -- !select --
-16
+18
 
 -- !select --
-16
+18
 
 -- !select --
-182
+277
 
 -- !select --
 20
@@ -228,16 +291,16 @@
 20
 
 -- !select --
-159
+221
 
 -- !select --
-16
+18
 
 -- !select --
-16
+18
 
 -- !select --
-202
+287
 
 -- !select --
 20
@@ -249,16 +312,100 @@
 20
 
 -- !select --
-177
+231
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+307
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+249
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+327
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+267
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+347
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+285
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+367
 
 -- !select --
-16
+20
 
 -- !select --
-16
+20
+
+-- !select --
+20
 
 -- !select --
-222
+305
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+379
 
 -- !select --
 20
@@ -270,11 +417,122 @@
 20
 
 -- !select --
-195
+310
 
 -- !select --
-16
+18
+
+-- !select --
+18
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+399
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+328
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+419
+
+-- !select --
+20
+
+-- !select --
+20
 
 -- !select --
-16
+20
+
+-- !select --
+346
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+439
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+364
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+459
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+382
+
+-- !select --
+18
+
+-- !select --
+18
+
+-- !select --
+479
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+20
+
+-- !select --
+402
+
+-- !select --
+18
+
+-- !select --
+18
 
diff --git a/regression-test/suites/load_p0/tvf/ddl/nest_tbl_basic_tvf.sql 
b/regression-test/suites/load_p0/tvf/ddl/nest_tbl_basic_tvf.sql
new file mode 100644
index 00000000000..74748e532c6
--- /dev/null
+++ b/regression-test/suites/load_p0/tvf/ddl/nest_tbl_basic_tvf.sql
@@ -0,0 +1,29 @@
+
+CREATE TABLE nest_tbl_basic_tvf(
+    id INT NOT NULL,
+    city VARCHAR(100) NULL,
+    code INT NULL,
+    kd01 BOOLEAN         NOT NULL DEFAULT "TRUE",
+    kd02 TINYINT         NOT NULL DEFAULT "1",
+    kd03 SMALLINT        NOT NULL DEFAULT "2",
+    kd04 INT             NOT NULL DEFAULT "3",
+    kd05 BIGINT          NOT NULL DEFAULT "4",
+    kd06 LARGEINT        NOT NULL DEFAULT "5",
+    kd07 FLOAT           NOT NULL DEFAULT "6.0",
+    kd08 DOUBLE          NOT NULL DEFAULT "7.0",
+    kd09 DECIMAL         NOT NULL DEFAULT "888888888",
+    kd10 DECIMALV3       NOT NULL DEFAULT "999999999",
+    kd11 DATE            NOT NULL DEFAULT "2023-08-24",
+    kd12 DATETIME        NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    kd13 DATEV2          NOT NULL DEFAULT "2023-08-24",
+    kd14 DATETIMEV2      NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    kd15 CHAR(255)       NOT NULL DEFAULT "我能吞下玻璃而不伤身体",
+    kd16 VARCHAR(300)    NOT NULL DEFAULT "我能吞下玻璃而不伤身体",
+    kd17 STRING          NOT NULL DEFAULT "我能吞下玻璃而不伤身体",
+    kd18 JSON            NULL,
+)
+UNIQUE KEY(id)
+DISTRIBUTED BY HASH(id) BUCKETS 32
+PROPERTIES(
+    "replication_num" = "1"
+);
\ No newline at end of file
diff --git a/regression-test/suites/load_p0/tvf/ddl/nest_tbl_basic_tvf_drop.sql 
b/regression-test/suites/load_p0/tvf/ddl/nest_tbl_basic_tvf_drop.sql
new file mode 100644
index 00000000000..b6f8ce5f336
--- /dev/null
+++ b/regression-test/suites/load_p0/tvf/ddl/nest_tbl_basic_tvf_drop.sql
@@ -0,0 +1 @@
+DROP TABLE IF EXISTS nest_tbl_basic_tvf
\ No newline at end of file
diff --git a/regression-test/suites/load_p0/tvf/test_s3_tvf.groovy 
b/regression-test/suites/load_p0/tvf/test_s3_tvf.groovy
index 83a93fd5d82..4e0616c66d3 100644
--- a/regression-test/suites/load_p0/tvf/test_s3_tvf.groovy
+++ b/regression-test/suites/load_p0/tvf/test_s3_tvf.groovy
@@ -24,7 +24,8 @@ suite("test_s3_tvf", "load_p0") {
             "mow_tbl_array_tvf",
             "mow_tbl_basic_tvf",
             "uniq_tbl_array_tvf",
-            "uniq_tbl_basic_tvf"
+            "uniq_tbl_basic_tvf",
+            "nest_tbl_basic_tvf"
     ]
 
     //deal with agg tables in separate
@@ -49,6 +50,405 @@ suite("test_s3_tvf", "load_p0") {
 
     ]
 
+    def partitionTables = [
+        "uniq_tbl_basic_tvf"
+    ]
+    // ,
+    // path partition key
+    // NOTE: maybe path_partition_keys don't support with broker_load, we just 
calulate the insert_count equal to file rows
+    // this parameter is similar with columns from path as (c1, c2, ...) in 
broker_load method, look at test case test_tvf_based_broker_load.groovy
+   for (String table : basicTables) {
+    attributeList.add(new TvfAttribute(table, "c1 as k00,c2 as k01,c3 as 
k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 as k09,c11 
as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as k16,c18 as 
k17,c19 as k18, kd16", 
"K00,K01,K02,K03,K04,K05,K06,K07,K08,K09,K10,K11,K12,K13,K14,K15,K16,K17,K18,Kd16",
 "", "")
+                 .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/kd16=abcdefg/basic_data.csv")
+                 .addProperty("format", "csv")
+                 .addProperty("column_separator", "|")
+                 .addProperty("use_path_style", "true")
+                 .addProperty("force_parsing_by_standard_uri", "true")
+                 .addProperty("path_partition_keys", "kd16"))
+   }
+                                                                               
                                                                                
                                                                                
         // SET (k19=to_bitmap(c6), k20=HLL_HASH(c6), k21=TO_QUANTILE_STATE(c5, 
1.0), kd19=to_bitmap(c6), kd20=HLL_HASH(c6), kd21=TO_QUANTILE_STATE(c5, 1.0)
+   attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 as 
k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 
as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as k20, 
TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as kd20, 
TO_QUANTILE_STATE(c5, 1.0) as kd21, kd16",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21,kd16",
 "", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/kd16=abcdefg/basic_data.csv")
+            .addProperty("format", "csv")
+            .addProperty("column_separator", "|")
+            .addProperty("use_path_style", "true")
+            .addProperty("force_parsing_by_standard_uri", "true")
+            .addProperty("path_partition_keys", "kd16"))
+    // path partition key maybe don't support array type ? 
+    // for(String table : arrayTables) {
+    //     attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", 
"K03", "K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", 
"K14", "K15", "K16", "K17", "kd16"], "", "")
+    //             .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/kd16=[1,2,3,4]/basic_array_data.csv")
+    //             .addProperty("format", "csv")
+    //             .addProperty("column_separator", "|")
+    //             .addProperty("force_parsing_by_standard_uri", "true")
+    //             .addProperty("path_partition_keys", "kd16"))
+    // }
+
+    for (String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, "c1 as k00,c2 as k01,c3 as 
k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 as k09,c11 
as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as k16,c18 as 
k17,c19 as k18, kd16, kd17", 
"K00,K01,K02,K03,K04,K05,K06,K07,K08,K09,K10,K11,K12,K13,K14,K15,K16,K17,K18,Kd16,
 kd17", "", "")
+                 .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/kd16=abcdefg/kd17=hello/basic_data.csv")
+                 .addProperty("format", "csv")
+                 .addProperty("column_separator", "|")
+                 .addProperty("use_path_style", "true")
+                 .addProperty("force_parsing_by_standard_uri", "true")
+                 .addProperty("path_partition_keys", "kd16,kd17"))
+   }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 as 
k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 
as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as k20, 
TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as kd20, 
TO_QUANTILE_STATE(c5, 1.0) as kd21, kd16",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21,kd16",
 "", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/kd16=abcdefg/kd17=hello/basic_data.csv")
+            .addProperty("format", "csv")
+            .addProperty("column_separator", "|")
+            .addProperty("use_path_style", "true")
+            .addProperty("force_parsing_by_standard_uri", "true")
+            .addProperty("path_partition_keys", "kd16,kd17"))
+    
+    // for (String table : basicTables) {
+    //     attributeList.add(new TvfAttribute(table, "c1 as k00,c2 as k01,c3 
as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 as 
k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, kd16, kd17", 
"K00,K01,K02,K03,K04,K05,K06,K07,K08,K09,K10,K11,K12,K13,K14,K15,K16,K17,K18,Kd16,
 kd17", "", "")
+    //              .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/kd16=abcdefg/*/basic_data.csv")
+    //              .addProperty("format", "csv")
+    //              .addProperty("column_separator", "|")
+    //              .addProperty("use_path_style", "true")
+    //              .addProperty("force_parsing_by_standard_uri", "true")
+    //              .addProperty("path_partition_keys", "kd16,kd17"))
+    // }
+
+    // attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 
as k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as 
k08,c10 as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as 
k15,c17 as k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as 
k20, TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as 
kd20, TO_QUANTILE_STATE(c5, 1.0) as kd21, kd16",
+    //         
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21,kd16",
 "", "")
+    //         .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/kd16=abcdefg/*/basic_data.csv")
+    //         .addProperty("format", "csv")
+    //         .addProperty("column_separator", "|")
+    //         .addProperty("use_path_style", "true")
+    //         .addProperty("force_parsing_by_standard_uri", "true")
+    //         .addProperty("path_partition_keys", "kd16,kd17"))
+    
+
+
+
+    // trim_double_quotes
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17", "K18"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_trim_double_quotes.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("force_parsing_by_standard_uri", "true")
+                .addProperty("trim_double_quotes", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 as 
k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 
as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as k20, 
TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as kd20, 
TO_QUANTILE_STATE(c5, 1.0) as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_trim_double_quotes.csv")
+            .addProperty("format", "csv")
+            .addProperty("column_separator", "|")
+            .addProperty("force_parsing_by_standard_uri", "true")
+            .addProperty("trim_double_quotes", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data_trim_double_quotes.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("force_parsing_by_standard_uri", "true")
+                .addProperty("trim_double_quotes", "true"))
+    }
+
+    // trim_double_quotes with skip_lines : 1
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17", "K18"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_trim_double_quotes.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("force_parsing_by_standard_uri", "true")
+                .addProperty("skip_lines", "1")
+                .addProperty("trim_double_quotes", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 as 
k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 
as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as k20, 
TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as kd20, 
TO_QUANTILE_STATE(c5, 1.0) as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_trim_double_quotes.csv")
+            .addProperty("format", "csv")
+            .addProperty("column_separator", "|")
+            .addProperty("force_parsing_by_standard_uri", "true")
+            .addProperty("skip_lines", "1")
+            .addProperty("trim_double_quotes", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data_trim_double_quotes.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("force_parsing_by_standard_uri", "true")
+                .addProperty("skip_lines", "1")
+                .addProperty("trim_double_quotes", "true"))
+    }
+
+    // stip_outer_array
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17", "K18"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_trim_double_quotes.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("force_parsing_by_standard_uri", "true")
+                .addProperty("skip_lines", "1")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("trim_double_quotes", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 as 
k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 
as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as k20, 
TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as kd20, 
TO_QUANTILE_STATE(c5, 1.0) as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_trim_double_quotes.csv")
+            .addProperty("format", "csv")
+            .addProperty("column_separator", "|")
+            .addProperty("force_parsing_by_standard_uri", "true")
+            .addProperty("skip_lines", "1")
+            .addProperty("strip_outer_array", "true")
+            .addProperty("trim_double_quotes", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data_trim_double_quotes.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("force_parsing_by_standard_uri", "true")
+                .addProperty("skip_lines", "1")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("trim_double_quotes", "true"))
+    }
+
+    // read_json_by_line
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17", "K18"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_trim_double_quotes.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("force_parsing_by_standard_uri", "true")
+                .addProperty("skip_lines", "1")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("read_json_by_line", "false")
+                .addProperty("trim_double_quotes", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 as 
k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 
as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as k20, 
TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as kd20, 
TO_QUANTILE_STATE(c5, 1.0) as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_trim_double_quotes.csv")
+            .addProperty("format", "csv")
+            .addProperty("column_separator", "|")
+            .addProperty("force_parsing_by_standard_uri", "true")
+            .addProperty("skip_lines", "1")
+            .addProperty("strip_outer_array", "true")
+            .addProperty("read_json_by_line", "false")
+            .addProperty("trim_double_quotes", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data_trim_double_quotes.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("force_parsing_by_standard_uri", "true")
+                .addProperty("skip_lines", "1")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("read_json_by_line", "false")
+                .addProperty("trim_double_quotes", "true"))
+    } 
+
+    // json format
+    // 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18","k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18"
+    // def a3k = getS3AK()
+    // def s3k = getS3SK()
+    // def jsonpaths = '[\\"$.k00\\", \\"$.k01\\"]'
+    // def sql_str =  """
+    //         select * from s3(
+    //             "s3.access_key" = "$a3k",
+    //             "s3.secret_key" = "$s3k",
+    //             "s3.region" = "ap-beijing",
+    //             "uri" = 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.json",
+    //             "format" = "json",
+    //             "read_json_by_line" = "false",
+    //             "strip_outer_array" = "true",
+    //             "use_path_style" = "true",
+    //             "jsonpaths" = "$jsonpaths",
+    //             "force_parsing_by_standard_uri" = "true"
+    //         ) limit 10;
+    //     """
+    // def sql_ret = sql """ ${sql_str} """ 
+    // logger.info("sql_ret: $sql_ret")
+
+    // jsonpaths
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, "*","k00,k01,k12", "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "false")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("column_separator", "|")
+                .addProperty("use_path_style", "true")
+                .addProperty("jsonpaths", '[\\"$.k00\\", \\"$.k01\\", 
\\"$.k12\\"]')
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", 
"k00,k01,k02,k03,k04,k05, to_bitmap(k05) as k19, HLL_HASH(k05) as k20, 
TO_QUANTILE_STATE(k04, 1.0) as k21, to_bitmap(k05) as kd19, HLL_HASH(k05) as 
kd20, TO_QUANTILE_STATE(k04, 1.0) as kd21",
+            "k00,k01,k02, k03,k04, k05,k19, k20, k21, kd19, kd20, kd21" ,"", 
"")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.json")
+            .addProperty("format", "json")
+            .addProperty("read_json_by_line", "false")
+            .addProperty("strip_outer_array", "true")
+            .addProperty("column_separator", "|")
+            .addProperty("jsonpaths", '[\\"$.k00\\", \\"$.k01\\", \\"$.k02\\", 
\\"$.k03\\", \\"$.k04\\", \\"$.k05\\"]')
+            .addProperty("force_parsing_by_standard_uri", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, "k00,k01,k02,k03,k04", 
"k00,k01,k02,k03,k04", "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "false")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("column_separator", "|")
+                .addProperty("jsonpaths", '[\\"$.k00\\", \\"$.k01\\", 
\\"$.k02\\", \\"$.k03\\", \\"$.k04\\"]')
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, "*","k00,k01,k12", "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_by_line.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "true")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("column_separator", "|")
+                .addProperty("use_path_style", "true")
+                .addProperty("strip_outer_array", "false")
+                .addProperty("jsonpaths", '[\\"$.k00\\", \\"$.k01\\", 
\\"$.k12\\"]')
+                .addProperty("num_as_string", "true")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", 
"k00,k01,k02,k03,k04,k05, to_bitmap(k05) as k19, HLL_HASH(k05) as k20, 
TO_QUANTILE_STATE(k04, 1.0) as k21, to_bitmap(k05) as kd19, HLL_HASH(k05) as 
kd20, TO_QUANTILE_STATE(k04, 1.0) as kd21",
+            "k00,k01,k02, k03,k04, k05,k19, k20, k21, kd19, kd20, kd21" ,"", 
"")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_by_line.json")
+            .addProperty("format", "json")
+            .addProperty("read_json_by_line", "true")
+            .addProperty("strip_outer_array", "false")
+            .addProperty("column_separator", "|")
+            .addProperty("jsonpaths", '[\\"$.k00\\", \\"$.k01\\", \\"$.k02\\", 
\\"$.k03\\", \\"$.k04\\", \\"$.k05\\"]')
+            .addProperty("num_as_string", "true")
+            .addProperty("force_parsing_by_standard_uri", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, "k00,k01,k02,k03,k04", 
"k00,k01,k02,k03,k04", "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data_by_line.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "true")
+                .addProperty("strip_outer_array", "false")
+                .addProperty("column_separator", "|")
+                .addProperty("jsonpaths", '[\\"$.k00\\", \\"$.k01\\", 
\\"$.k02\\", \\"$.k03\\", \\"$.k04\\"]')
+                .addProperty("num_as_string", "true")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    } 
+
+    // json_root
+    attributeList.add(new TvfAttribute("nest_tbl_basic_tvf", "id, city, code", 
"id, city, code", "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/nest_json.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "true")
+                .addProperty("json_root", '$.item')
+                .addProperty("force_parsing_by_standard_uri", "true"))
+
+    // num_as_string
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18","k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18",
 "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_by_line.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "true")
+                .addProperty("strip_outer_array", "false")
+                .addProperty("column_separator", "|")
+                .addProperty("num_as_string", "true")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18, 
to_bitmap(k05) as k19, HLL_HASH(k05) as k20, TO_QUANTILE_STATE(k04, 1.0) as 
k21, to_bitmap(k05) as kd19, HLL_HASH(k05) as kd20, TO_QUANTILE_STATE(k04, 1.0) 
as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_by_line.json")
+            .addProperty("format", "json")
+            .addProperty("read_json_by_line", "true")
+            .addProperty("strip_outer_array", "false")
+            .addProperty("num_as_string", "true")
+            .addProperty("column_separator", "|")
+            .addProperty("force_parsing_by_standard_uri", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17", 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17", "", 
"")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data_by_line.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "true")
+                .addProperty("strip_outer_array", "false")
+                .addProperty("column_separator", "|")
+                .addProperty("num_as_string", "true")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18","k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18",
 "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "false")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("num_as_string", "true")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18, 
to_bitmap(k05) as k19, HLL_HASH(k05) as k20, TO_QUANTILE_STATE(k04, 1.0) as 
k21, to_bitmap(k05) as kd19, HLL_HASH(k05) as kd20, TO_QUANTILE_STATE(k04, 1.0) 
as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.json")
+            .addProperty("format", "json")
+            .addProperty("read_json_by_line", "false")
+            .addProperty("strip_outer_array", "true")
+            .addProperty("column_separator", "|")
+            .addProperty("num_as_string", "true")
+            .addProperty("force_parsing_by_standard_uri", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17", 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17", "", 
"")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "false")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("column_separator", "|")
+                .addProperty("num_as_string", "true")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    // fuzzy_parse
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18","k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18",
 "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "false")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("fuzzy_parse", "true")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18, 
to_bitmap(k05) as k19, HLL_HASH(k05) as k20, TO_QUANTILE_STATE(k04, 1.0) as 
k21, to_bitmap(k05) as kd19, HLL_HASH(k05) as kd20, TO_QUANTILE_STATE(k04, 1.0) 
as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.json")
+            .addProperty("format", "json")
+            .addProperty("read_json_by_line", "false")
+            .addProperty("strip_outer_array", "true")
+            .addProperty("fuzzy_parse", "true")
+            .addProperty("force_parsing_by_standard_uri", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17", 
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17", "", 
"")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data.json")
+                .addProperty("format", "json")
+                .addProperty("read_json_by_line", "false")
+                .addProperty("strip_outer_array", "true")
+                .addProperty("fuzzy_parse", "true")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }    
+
+
+
     // errors: no capital prop, no column mappings, array type loading stuck
 
     /* normal */
@@ -68,7 +468,7 @@ suite("test_s3_tvf", "load_p0") {
             .addProperty("force_parsing_by_standard_uri", "true"))
 
     for(String table : arrayTables) {
-        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17"], "", "").addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data.csv")
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17"], "", "")
                 .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data.csv")
                 .addProperty("format", "csv")
                 .addProperty("column_separator", "|")
@@ -258,6 +658,57 @@ suite("test_s3_tvf", "load_p0") {
                 .addProperty("column_separator", "|")
                 .addProperty("compress_type", "LZ4FRAME"))
     }
+    
+    // compress_type: lzo
+    for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, ["k00", "k01", "k02", "k03", 
"k04", "k05", "k06", "k07", "k08", "k09", "k10", "k11", "k12", "k13", "k14", 
"k15", "k16", "k17", "k18"], "", "")
+                .addProperty("uri", 
"https://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.csv.lzo";)
+                .addProperty("format", "csv")
+                .addProperty("column_separator", 
"|").addProperty("compress_type", "LZO"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 as 
k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 
as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as k20, 
TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as kd20, 
TO_QUANTILE_STATE(c5, 1.0) as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"https://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.csv.lzo";)
+            .addProperty("format", "csv")
+            .addProperty("column_separator", "|")
+            .addProperty("compress_type", "LZO"))
+
+    // we can upload basic_array_data.csv.lzo to s3
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, ["k00", "k01", "k02", "k03", 
"k04", "k05", "k06", "k07", "k08", "k09", "k10", "k11", "k12", "k13", "k14", 
"k15", "k16", "k17"], "", "")
+                .addProperty("uri", 
"https://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data.csv.lzo";)
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("compress_type", "LZO"))
+    }
+
+    // compress_type: deflate
+    // for(String table : basicTables) {
+    //     attributeList.add(new TvfAttribute(table, ["k00", "k01", "k02", 
"k03", "k04", "k05", "k06", "k07", "k08", "k09", "k10", "k11", "k12", "k13", 
"k14", "k15", "k16", "k17", "k18"], "", "")
+    //             .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_test.csv.deflate")
+    //             .addProperty("format", "csv")
+    //             .addProperty("column_separator", "|")
+    //             .addProperty("compress_type", "DEFLATE")
+    //             .addProperty("force_parsing_by_standard_uri", "true"))
+    // }
+
+    // attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 
as k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as 
k08,c10 as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as 
k15,c17 as k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as 
k20, TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as 
kd20, TO_QUANTILE_STATE(c5, 1.0) as kd21",
+    //         
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+    //         .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_test.csv.deflate")
+    //         .addProperty("format", "csv")
+    //         .addProperty("column_separator", "|")
+    //         .addProperty("compress_type", "DEFLATE")
+    //         .addProperty("force_parsing_by_standard_uri", "true"))
+
+    // for(String table : arrayTables) {
+    //     attributeList.add(new TvfAttribute(table, ["k00", "k01", "k02", 
"k03", "k04", "k05", "k06", "k07", "k08", "k09", "k10", "k11", "k12", "k13", 
"k14", "k15", "k16", "k17"], "", "")
+    //             .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data.csv.deflate")
+    //             .addProperty("format", "csv")
+    //             .addProperty("column_separator", "|")
+    //             .addProperty("compress_type", "DEFLATE")
+    //             .addProperty("force_parsing_by_standard_uri", "true"))
+    // }
 
     for(String table : basicTables) {
         attributeList.add(new TvfAttribute(table, ["k00", "k01", "k02", "k03", 
"k04", "k05", "k06", "k07", "k08", "k09", "k10", "k11", "k12", "k13", "k14", 
"k15", "k16", "k17", "k18"], "WHERE c1 > 50", "")
@@ -394,6 +845,63 @@ suite("test_s3_tvf", "load_p0") {
                 .addProperty("force_parsing_by_standard_uri", "true"))
     }
 
+
+
+   // line_delimiter: \t
+   for(String table : basicTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17", "K18"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_by_line_delimiter.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("line_delimiter", "\t")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 as 
k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as k08,c10 
as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as k15,c17 as 
k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as k20, 
TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as kd20, 
TO_QUANTILE_STATE(c5, 1.0) as kd21",
+            
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+            .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data_by_line_delimiter.csv")
+            .addProperty("format", "csv")
+            .addProperty("column_separator", "|")
+            .addProperty("line_delimiter", "\t")
+            .addProperty("force_parsing_by_standard_uri", "true"))
+
+    for(String table : arrayTables) {
+        attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", "K03", 
"K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", "K14", 
"K15", "K16", "K17"], "", "")
+                .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data_by_tab_line_delimiter.csv")
+                .addProperty("format", "csv")
+                .addProperty("column_separator", "|")
+                .addProperty("line_delimiter", "\t")
+                .addProperty("force_parsing_by_standard_uri", "true"))
+    }
+
+    // invalid line delimiter, this will case error
+    // for(String table : basicTables) {
+    //     attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", 
"K03", "K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", 
"K14", "K15", "K16", "K17", "K18"], "", "")
+    //             .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.csv")
+    //             .addProperty("format", "csv")
+    //             .addProperty("column_separator", "|")
+    //             .addProperty("line_delimiter", ",")
+    //             .addProperty("force_parsing_by_standard_uri", "true"))
+    // }
+
+    // attributeList.add(new TvfAttribute("agg_tbl_basic_tvf", "c1 as k00,c2 
as k01,c3 as k02,c4 as k03,c5 as k04,c6 as k05,c7 as k06,c8 as k07,c9 as 
k08,c10 as k09,c11 as k10,c12 as k11,c13 as k12,c14 as k13,c15 as k14,c16 as 
k15,c17 as k16,c18 as k17,c19 as k18, to_bitmap(c6) as k19, HLL_HASH(c6) as 
k20, TO_QUANTILE_STATE(c5, 1.0) as k21, to_bitmap(c6) as kd19, HLL_HASH(c6) as 
kd20, TO_QUANTILE_STATE(c5, 1.0) as kd21",
+    //         
"k00,k01,k02,k03,k04,k05,k06,k07,k08,k09,k10,k11,k12,k13,k14,k15,k16,k17,k18,k19,k20,k21,kd19,kd20,kd21"
 ,"", "")
+    //         .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_data.csv")
+    //         .addProperty("format", "csv")
+    //         .addProperty("column_separator", "|")
+    //         .addProperty("line_delimiter", ",")
+    //         .addProperty("force_parsing_by_standard_uri", "true"))
+
+    // for(String table : arrayTables) {
+    //     attributeList.add(new TvfAttribute(table, ["K00", "K01", "K02", 
"K03", "K04", "K05", "K06", "K07", "K08", "K09", "K10", "K11", "K12", "K13", 
"K14", "K15", "K16", "K17"], "", "")
+    //             .addProperty("uri", 
"s3://doris-build-1308700295.cos.ap-beijing.myqcloud.com/regression/load/data/basic_array_data.csv")
+    //             .addProperty("format", "csv")
+    //             .addProperty("column_separator", "|")
+    //             .addProperty("line_delimiter", ",")
+    //             .addProperty("force_parsing_by_standard_uri", "true"))
+    // }
+
+
     def ak = getS3AK()
     def sk = getS3SK()
 
@@ -403,12 +911,12 @@ suite("test_s3_tvf", "load_p0") {
     }
 
     def i = 0
+ 
     for (TvfAttribute attribute : attributeList) {
 
         def prop = attribute.getPropertiesStr()
         def insertList = attribute.getInsertList()
         def selectList = attribute.getSelectList()
-
         def sqlStr = """
         INSERT INTO ${attribute.tableName} (${insertList})
         SELECT ${selectList}
@@ -428,10 +936,10 @@ suite("test_s3_tvf", "load_p0") {
             assertTrue(attribute.expectFiled)
             logger.info("error: ", ex)
         }
-
         qt_select """ select count(*) from $attribute.tableName """
         ++i
-    }
+    } 
+
 
 
 }
@@ -483,6 +991,8 @@ class TvfAttribute {
         return getInsertList()
     }
 
+
+
     String getInsertList() {
         if (insertList.length() != 0) {
             return insertList
@@ -507,8 +1017,14 @@ class TvfAttribute {
         return prop
     }
 
+    String get(String k) {
+        return properties.get(k)
+    }
+
     TvfAttribute addProperty(String k, String v) {
         properties.put(k, v)
         return this
     }
+
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to