You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2022/01/24 00:40:05 UTC
[iceberg] branch master updated: Core: Added no-arg constructor in ResolvingFileIO (#3923)
This is an automated email from the ASF dual-hosted git repository.
blue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/master by this push:
new 65b22ad Core: Added no-arg constructor in ResolvingFileIO (#3923)
65b22ad is described below
commit 65b22adddc871762047d75a6bcc1c6749fab08bc
Author: Rajarshi Sarkar <sr...@amazon.com>
AuthorDate: Mon Jan 24 06:09:55 2022 +0530
Core: Added no-arg constructor in ResolvingFileIO (#3923)
---
.../main/java/org/apache/iceberg/io/ResolvingFileIO.java | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/core/src/main/java/org/apache/iceberg/io/ResolvingFileIO.java b/core/src/main/java/org/apache/iceberg/io/ResolvingFileIO.java
index 3247459..f57bb54 100644
--- a/core/src/main/java/org/apache/iceberg/io/ResolvingFileIO.java
+++ b/core/src/main/java/org/apache/iceberg/io/ResolvingFileIO.java
@@ -40,17 +40,26 @@ public class ResolvingFileIO implements FileIO, HadoopConfigurable {
private static final Logger LOG = LoggerFactory.getLogger(ResolvingFileIO.class);
private static final String DEFAULT_SCHEME = "fs";
private static final String FALLBACK_IMPL = "org.apache.iceberg.hadoop.HadoopFileIO";
+ private static final String S3_FILE_IO_IMPL = "org.apache.iceberg.aws.s3.S3FileIO";
private static final Map<String, String> SCHEME_TO_FILE_IO = ImmutableMap.of(
DEFAULT_SCHEME, FALLBACK_IMPL,
- "s3", "org.apache.iceberg.aws.s3.S3FileIO",
- "s3a", "org.apache.iceberg.aws.s3.S3FileIO",
- "s3n", "org.apache.iceberg.aws.s3.S3FileIO"
+ "s3", S3_FILE_IO_IMPL,
+ "s3a", S3_FILE_IO_IMPL,
+ "s3n", S3_FILE_IO_IMPL
);
private final Map<String, FileIO> ioInstances = Maps.newHashMap();
private Map<String, String> properties;
private SerializableSupplier<Configuration> hadoopConf;
+ /**
+ * No-arg constructor to load the FileIO dynamically.
+ * <p>
+ * All fields are initialized by calling {@link ResolvingFileIO#initialize(Map)} later.
+ */
+ public ResolvingFileIO() {
+ }
+
@Override
public InputFile newInputFile(String location) {
return io(location).newInputFile(location);