@@ -22,16 +22,11 @@ suite("test_export_max_file_size", "p2,external") {
2222 sql """ set enable_nereids_planner=true """
2323 sql """ set enable_fallback_to_original_planner=false """
2424
25- String dfsNameservices= context. config. otherConfigs. get(" dfsNameservices" )
26- String dfsHaNamenodesHdfsCluster= context. config. otherConfigs. get(" dfsHaNamenodesHdfsCluster" )
27- String dfsNamenodeRpcAddress1= context. config. otherConfigs. get(" dfsNamenodeRpcAddress1" )
28- String dfsNamenodeRpcAddress2= context. config. otherConfigs. get(" dfsNamenodeRpcAddress2" )
29- String dfsNamenodeRpcAddress3= context. config. otherConfigs. get(" dfsNamenodeRpcAddress3" )
30- String dfsNameservicesPort= context. config. otherConfigs. get(" dfsNameservicesPort" )
31- String hadoopSecurityAuthentication = context. config. otherConfigs. get(" hadoopSecurityAuthentication" )
32- String hadoopKerberosKeytabPath = context. config. otherConfigs. get(" hadoopKerberosKeytabPath" )
33- String hadoopKerberosPrincipal = context. config. otherConfigs. get(" hadoopKerberosPrincipal" )
34- String hadoopSecurityAutoToLocal = context. config. otherConfigs. get(" hadoopSecurityAutoToLocal" )
25+ String ak = getS3AK()
26+ String sk = getS3SK()
27+ String s3_endpoint = getS3Endpoint()
28+ String region = getS3Region()
29+ String bucket = context. config. otherConfigs. get(" s3BucketName" )
3530
3631 def table_export_name = " test_export_max_file_size"
3732 // create table and insert
@@ -79,24 +74,24 @@ suite("test_export_max_file_size", "p2,external") {
7974 DISTRIBUTED BY HASH(user_id) PROPERTIES("replication_num" = "1");
8075 """
8176
82- def load_data_path = " /user/export_test/exp_max_file_size.csv"
8377 sql """
8478 insert into ${ table_export_name}
85- select * from hdfs(
86- "uri" = "hdfs://${ dfsNameservices}${ load_data_path} ",
87- "format" = "csv",
88- "dfs.data.transfer.protection" = "integrity",
89- 'dfs.nameservices'="${ dfsNameservices} ",
90- 'dfs.ha.namenodes.hdfs-cluster'="${ dfsHaNamenodesHdfsCluster} ",
91- 'dfs.namenode.rpc-address.hdfs-cluster.nn1'="${ dfsNamenodeRpcAddress1} :${ dfsNameservicesPort} ",
92- 'dfs.namenode.rpc-address.hdfs-cluster.nn2'="${ dfsNamenodeRpcAddress2} :${ dfsNameservicesPort} ",
93- 'dfs.namenode.rpc-address.hdfs-cluster.nn3'="${ dfsNamenodeRpcAddress3} :${ dfsNameservicesPort} ",
94- 'hadoop.security.authentication'="${ hadoopSecurityAuthentication} ",
95- 'hadoop.kerberos.keytab'="${ hadoopKerberosKeytabPath} ",
96- 'hadoop.kerberos.principal'="${ hadoopKerberosPrincipal} ",
97- 'hadoop.security.auth_to_local' = "${ hadoopSecurityAutoToLocal} ",
98- 'dfs.client.failover.proxy.provider.hdfs-cluster'="org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
99- );
79+ select
80+ number as user_id,
81+ date_add('2024-01-01', interval cast(rand() * 365 as int) day) as date,
82+ date_add('2024-01-01 00:00:00', interval cast(rand() * 365 * 24 * 3600 as int) second) as datetime,
83+ concat('City_', cast(cast(rand() * 100 as int) as string)) as city,
84+ cast(rand() * 80 + 18 as int) as age,
85+ cast(rand() * 2 as int) as sex,
86+ if(rand() > 0.5, true, false) as bool_col,
87+ cast(rand() * 1000000 as int) as int_col,
88+ cast(rand() * 10000000000 as bigint) as bigint_col,
89+ cast(rand() * 100000000000000 as largeint) as largeint_col,
90+ cast(rand() * 1000 as float) as float_col,
91+ rand() * 10000 as double_col,
92+ concat('char_', cast(cast(rand() * 10000 as int) as string)) as char_col,
93+ cast(rand() * 1000 as decimal(10, 2)) as decimal_col
94+ from numbers("number" = "1000000");
10095 """
10196
10297
@@ -114,32 +109,26 @@ suite("test_export_max_file_size", "p2,external") {
114109 }
115110 }
116111
117- def outFilePath = """ /user/export_test /test_max_file_size/exp_"""
112+ def outFilePath = """ ${ bucket } /export /test_max_file_size/exp_"""
118113
119114 // 1. csv test
120115 def test_export = {format , file_suffix , isDelete ->
121116 def uuid = UUID . randomUUID(). toString()
122117 // exec export
123118 sql """
124- EXPORT TABLE ${ table_export_name} TO "hdfs ://${ dfsNameservices } ${ outFilePath} "
119+ EXPORT TABLE ${ table_export_name} TO "s3 ://${ outFilePath} "
125120 PROPERTIES(
126121 "label" = "${ uuid} ",
127122 "format" = "${ format} ",
128123 "max_file_size" = "5MB",
129124 "delete_existing_files"="${ isDelete} "
130125 )
131- with HDFS (
132- "dfs.data.transfer.protection" = "integrity",
133- 'dfs.nameservices'="${ dfsNameservices} ",
134- 'dfs.ha.namenodes.hdfs-cluster'="${ dfsHaNamenodesHdfsCluster} ",
135- 'dfs.namenode.rpc-address.hdfs-cluster.nn1'="${ dfsNamenodeRpcAddress1} :${ dfsNameservicesPort} ",
136- 'dfs.namenode.rpc-address.hdfs-cluster.nn2'="${ dfsNamenodeRpcAddress2} :${ dfsNameservicesPort} ",
137- 'dfs.namenode.rpc-address.hdfs-cluster.nn3'="${ dfsNamenodeRpcAddress3} :${ dfsNameservicesPort} ",
138- 'hadoop.security.authentication'="${ hadoopSecurityAuthentication} ",
139- 'hadoop.kerberos.keytab'="${ hadoopKerberosKeytabPath} ",
140- 'hadoop.kerberos.principal'="${ hadoopKerberosPrincipal} ",
141- 'hadoop.security.auth_to_local' = "${ hadoopSecurityAutoToLocal} ",
142- 'dfs.client.failover.proxy.provider.hdfs-cluster'="org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
126+ WITH s3 (
127+ "s3.endpoint" = "${ s3_endpoint} ",
128+ "s3.region" = "${ region} ",
129+ "s3.secret_key"="${ sk} ",
130+ "s3.access_key" = "${ ak} ",
131+ "provider" = "${ getS3Provider()} "
143132 );
144133 """
145134
@@ -151,20 +140,13 @@ suite("test_export_max_file_size", "p2,external") {
151140
152141 for (int j = 0 ; j < json. fileNumber[0 ][0 ]. toInteger(); ++ j) {
153142 def res = sql """
154- select count(*) from hdfs(
155- "uri" = "${ outfile_url}${ j} .csv",
143+ select count(*) from s3(
144+ "uri" = "http://${ bucket} .${ s3_endpoint}${ outfile_url.substring(5 + bucket.length())}${ j} .csv",
145+ "ACCESS_KEY"= "${ ak} ",
146+ "SECRET_KEY" = "${ sk} ",
156147 "format" = "csv",
157- "dfs.data.transfer.protection" = "integrity",
158- 'dfs.nameservices'="${ dfsNameservices} ",
159- 'dfs.ha.namenodes.hdfs-cluster'="${ dfsHaNamenodesHdfsCluster} ",
160- 'dfs.namenode.rpc-address.hdfs-cluster.nn1'="${ dfsNamenodeRpcAddress1} :${ dfsNameservicesPort} ",
161- 'dfs.namenode.rpc-address.hdfs-cluster.nn2'="${ dfsNamenodeRpcAddress2} :${ dfsNameservicesPort} ",
162- 'dfs.namenode.rpc-address.hdfs-cluster.nn3'="${ dfsNamenodeRpcAddress3} :${ dfsNameservicesPort} ",
163- 'hadoop.security.authentication'="${ hadoopSecurityAuthentication} ",
164- 'hadoop.kerberos.keytab'="${ hadoopKerberosKeytabPath} ",
165- 'hadoop.kerberos.principal'="${ hadoopKerberosPrincipal} ",
166- 'hadoop.security.auth_to_local' = "${ hadoopSecurityAutoToLocal} ",
167- 'dfs.client.failover.proxy.provider.hdfs-cluster'="org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
148+ "provider" = "${ getS3Provider()} ",
149+ "region" = "${ region} "
168150 );
169151 """
170152 logger. info(" res[0][0] = " + res[0 ][0 ]);
@@ -175,20 +157,13 @@ suite("test_export_max_file_size", "p2,external") {
175157 // check data correctness
176158 sql """
177159 insert into ${ table_load_name}
178- select * from hdfs(
179- "uri" = "${ outfile_url}${ j} .csv",
160+ select * from s3(
161+ "uri" = "http://${ bucket} .${ s3_endpoint}${ outfile_url.substring(5 + bucket.length())}${ j} .csv",
162+ "ACCESS_KEY"= "${ ak} ",
163+ "SECRET_KEY" = "${ sk} ",
180164 "format" = "csv",
181- "dfs.data.transfer.protection" = "integrity",
182- 'dfs.nameservices'="${ dfsNameservices} ",
183- 'dfs.ha.namenodes.hdfs-cluster'="${ dfsHaNamenodesHdfsCluster} ",
184- 'dfs.namenode.rpc-address.hdfs-cluster.nn1'="${ dfsNamenodeRpcAddress1} :${ dfsNameservicesPort} ",
185- 'dfs.namenode.rpc-address.hdfs-cluster.nn2'="${ dfsNamenodeRpcAddress2} :${ dfsNameservicesPort} ",
186- 'dfs.namenode.rpc-address.hdfs-cluster.nn3'="${ dfsNamenodeRpcAddress3} :${ dfsNameservicesPort} ",
187- 'hadoop.security.authentication'="${ hadoopSecurityAuthentication} ",
188- 'hadoop.kerberos.keytab'="${ hadoopKerberosKeytabPath} ",
189- 'hadoop.kerberos.principal'="${ hadoopKerberosPrincipal} ",
190- 'hadoop.security.auth_to_local' = "${ hadoopSecurityAutoToLocal} ",
191- 'dfs.client.failover.proxy.provider.hdfs-cluster'="org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
165+ "provider" = "${ getS3Provider()} ",
166+ "region" = "${ region} "
192167 );
193168 """
194169 }
0 commit comments