This is an automated email from the ASF dual-hosted git repository.
corgy pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 74b193dd5a [Bug] [Connector-V2] Fix the issue of writing the ORC
format Iceberg report "Illegal provider-class name" (#6754) (#9588)
74b193dd5a is described below
commit 74b193dd5a029bf3546d28ac32202a81bb85a82f
Author: Osiris <[email protected]>
AuthorDate: Tue Jul 22 11:20:28 2025 +0800
[Bug] [Connector-V2] Fix the issue of writing the ORC format Iceberg report
"Illegal provider-class name" (#6754) (#9588)
---
seatunnel-connectors-v2/connector-iceberg/pom.xml | 2 +-
.../e2e/connector/iceberg/IcebergSinkIT.java | 8 +++
.../resources/iceberg/fake_to_orc_iceberg.conf | 74 ++++++++++++++++++++++
3 files changed, 83 insertions(+), 1 deletion(-)
diff --git a/seatunnel-connectors-v2/connector-iceberg/pom.xml
b/seatunnel-connectors-v2/connector-iceberg/pom.xml
index 476b2b2cc0..23e461491d 100644
--- a/seatunnel-connectors-v2/connector-iceberg/pom.xml
+++ b/seatunnel-connectors-v2/connector-iceberg/pom.xml
@@ -34,7 +34,7 @@
<parquet-avro.version>1.13.1</parquet-avro.version>
<avro.version>1.11.3</avro.version>
<hive.version>2.3.9</hive.version>
- <connector.name>connector-iceberg</connector.name>
+ <connector.name>connector.iceberg</connector.name>
<software.amazon.awssdk.version>2.31.30</software.amazon.awssdk.version>
</properties>
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-iceberg-e2e/src/test/java/org/apache/seatunnel/e2e/connector/iceberg/IcebergSinkIT.java
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-iceberg-e2e/src/test/java/org/apache/seatunnel/e2e/connector/iceberg/IcebergSinkIT.java
index d70c12d30f..b853825f96 100644
---
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-iceberg-e2e/src/test/java/org/apache/seatunnel/e2e/connector/iceberg/IcebergSinkIT.java
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-iceberg-e2e/src/test/java/org/apache/seatunnel/e2e/connector/iceberg/IcebergSinkIT.java
@@ -139,6 +139,14 @@ public class IcebergSinkIT extends TestSuiteBase {
});
}
+ @TestTemplate
+ public void testORCFileFormatWrite(TestContainer container)
+ throws IOException, InterruptedException {
+ Container.ExecResult textWriteResult =
+ container.executeJob("/iceberg/fake_to_orc_iceberg.conf");
+ Assertions.assertEquals(0, textWriteResult.getExitCode());
+ }
+
private List<Record> loadIcebergTable() {
List<Record> results = new ArrayList<>();
Map<String, Object> configs = new HashMap<>();
diff --git
a/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-iceberg-e2e/src/test/resources/iceberg/fake_to_orc_iceberg.conf
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-iceberg-e2e/src/test/resources/iceberg/fake_to_orc_iceberg.conf
new file mode 100644
index 0000000000..3aebf7a6a8
--- /dev/null
+++
b/seatunnel-e2e/seatunnel-connector-v2-e2e/connector-iceberg-e2e/src/test/resources/iceberg/fake_to_orc_iceberg.conf
@@ -0,0 +1,74 @@
+#
+# 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.
+#
+
+env {
+ parallelism = 1
+ job.mode = "BATCH"
+
+ # You can set spark configuration here
+ spark.app.name = "SeaTunnel"
+ spark.executor.instances = 2
+ spark.executor.cores = 1
+ spark.executor.memory = "1g"
+ spark.master = local
+}
+
+source {
+ FakeSource {
+ row.num = 100
+ schema = {
+ fields {
+ c_map = "map<string, string>"
+ c_array = "array<int>"
+ c_string = string
+ c_boolean = boolean
+ c_tinyint = tinyint
+ c_smallint = smallint
+ c_int = int
+ c_bigint = bigint
+ c_float = float
+ c_double = double
+ c_decimal = "decimal(30, 8)"
+ c_bytes = bytes
+ c_date = date
+ c_timestamp = timestamp
+ }
+ }
+ plugin_output = "fake"
+ }
+}
+
+transform {
+}
+
+sink {
+ Iceberg {
+ catalog_name="seatunnel_test"
+ iceberg.catalog.config={
+ "type"="hadoop"
+ "warehouse"="file:///tmp/seatunnel/iceberg/hadoop-sink/"
+ }
+ namespace="seatunnel_namespace"
+ table="iceberg_sink_table"
+ iceberg.table.write-props={
+ write.format.default="orc"
+ write.target-file-size-bytes=10
+ }
+ iceberg.table.partition-keys="c_timestamp"
+ case_sensitive=true
+ }
+}
\ No newline at end of file