From 225b8b41162235465ca984c29344797ecff9586a Mon Sep 17 00:00:00 2001 From: zouxxyy Date: Sat, 14 Feb 2026 00:58:15 +0800 Subject: [PATCH] 1 --- .../apache/paimon/fs/hadoop/HadoopFileIO.java | 4 ++++ paimon-lance/pom.xml | 21 ------------------- .../paimon/format/lance/LanceUtils.java | 20 +++++++++++++----- 3 files changed, 19 insertions(+), 26 deletions(-) diff --git a/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopFileIO.java b/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopFileIO.java index 49ca2cdc87b4..6db49a919b5c 100644 --- a/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopFileIO.java +++ b/paimon-common/src/main/java/org/apache/paimon/fs/hadoop/HadoopFileIO.java @@ -87,6 +87,10 @@ public Configuration hadoopConf() { return hadoopConf.get(); } + public org.apache.paimon.options.Options hadoopOptions() { + return new org.apache.paimon.options.Options(hadoopConf.get()); + } + @Override public SeekableInputStream newInputStream(Path path) throws IOException { org.apache.hadoop.fs.Path hadoopPath = path(path); diff --git a/paimon-lance/pom.xml b/paimon-lance/pom.xml index b2d1fe76d456..21bd05914ec0 100644 --- a/paimon-lance/pom.xml +++ b/paimon-lance/pom.xml @@ -61,20 +61,6 @@ under the License. provided - - org.apache.paimon - paimon-oss - ${project.version} - provided - - - - org.apache.paimon - paimon-oss-impl - ${project.version} - provided - - org.apache.paimon paimon-core @@ -82,13 +68,6 @@ under the License. provided - - org.apache.paimon - paimon-jindo - ${project.version} - provided - - diff --git a/paimon-lance/src/main/java/org/apache/paimon/format/lance/LanceUtils.java b/paimon-lance/src/main/java/org/apache/paimon/format/lance/LanceUtils.java index 3748d0403cb4..4edb803195c2 100644 --- a/paimon-lance/src/main/java/org/apache/paimon/format/lance/LanceUtils.java +++ b/paimon-lance/src/main/java/org/apache/paimon/format/lance/LanceUtils.java @@ -22,9 +22,7 @@ import org.apache.paimon.fs.Path; import org.apache.paimon.fs.PluginFileIO; import org.apache.paimon.fs.hadoop.HadoopFileIO; -import org.apache.paimon.jindo.JindoFileIO; import org.apache.paimon.options.Options; -import org.apache.paimon.oss.OSSFileIO; import org.apache.paimon.rest.RESTTokenFileIO; import org.apache.paimon.utils.Pair; @@ -116,13 +114,25 @@ private static Pair> toLanceSpecified( Options originOptions; if (ossFileIOKlass != null && ossFileIOKlass.isInstance(fileIO)) { - originOptions = ((OSSFileIO) fileIO).hadoopOptions(); + try { + originOptions = (Options) ossFileIOKlass.getMethod("hadoopOptions").invoke(fileIO); + } catch (Exception e) { + throw new RuntimeException("Failed to invoke hadoopOptions on OSSFileIO", e); + } } else if (jindoFileIOKlass != null && jindoFileIOKlass.isInstance(fileIO)) { - originOptions = ((JindoFileIO) fileIO).hadoopOptions(path, isRead ? "read" : "write"); + try { + originOptions = + (Options) + jindoFileIOKlass + .getMethod("hadoopOptions", Path.class, String.class) + .invoke(fileIO, path, isRead ? "read" : "write"); + } catch (Exception e) { + throw new RuntimeException("Failed to invoke hadoopOptions on JindoFileIO", e); + } } else if (pluginFileIOKlass != null && pluginFileIOKlass.isInstance(fileIO)) { originOptions = ((PluginFileIO) fileIO).options(); } else if (hadoopFileIOKlass != null && hadoopFileIOKlass.isInstance(fileIO)) { - originOptions = new Options(((HadoopFileIO) fileIO).hadoopConf()); + originOptions = ((HadoopFileIO) fileIO).hadoopOptions(); } else { originOptions = new Options(); }