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

lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git


The following commit(s) were added to refs/heads/master by this push:
     new 6dea9ef43 [hive] Pass config to FileIO (#801)
6dea9ef43 is described below

commit 6dea9ef43a1f173b0a22039e22719aef905a0994
Author: wgcn <[email protected]>
AuthorDate: Mon Apr 3 10:33:12 2023 +0800

    [hive] Pass config to FileIO (#801)
---
 .../src/main/java/org/apache/paimon/hive/HiveSchema.java  |  2 +-
 .../main/java/org/apache/paimon/hive/PaimonJobConf.java   | 15 +++++++++------
 .../org/apache/paimon/hive/mapred/PaimonInputFormat.java  |  2 +-
 3 files changed, 11 insertions(+), 8 deletions(-)

diff --git 
a/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/HiveSchema.java
 
b/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/HiveSchema.java
index a50eca546..72501baf7 100644
--- 
a/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/HiveSchema.java
+++ 
b/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/HiveSchema.java
@@ -78,7 +78,7 @@ public class HiveSchema {
                             + "so location property must be set.");
         }
         Path path = new Path(location);
-        Options options = new Options();
+        Options options = PaimonJobConf.extractCatalogConfig(configuration);
         options.set(CoreOptions.PATH, path.toUri().toString());
         CatalogContext catalogContext = CatalogContext.create(options, 
configuration);
         TableSchema tableSchema = 
FileStoreTableFactory.create(catalogContext).schema();
diff --git 
a/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/PaimonJobConf.java
 
b/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/PaimonJobConf.java
index f831b5cd9..62cecde57 100644
--- 
a/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/PaimonJobConf.java
+++ 
b/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/PaimonJobConf.java
@@ -63,12 +63,15 @@ public class PaimonJobConf {
     /** Extract paimon catalog conf from Hive conf. */
     public static Options extractCatalogConfig(Configuration hiveConf) {
         Map<String, String> configMap = new HashMap<>();
-        for (Map.Entry<String, String> entry : hiveConf) {
-            String name = entry.getKey();
-            if (name.startsWith(PAIMON_PREFIX)) {
-                String value = hiveConf.get(name);
-                name = name.substring(PAIMON_PREFIX.length());
-                configMap.put(name, value);
+
+        if (hiveConf != null) {
+            for (Map.Entry<String, String> entry : hiveConf) {
+                String name = entry.getKey();
+                if (name.startsWith(PAIMON_PREFIX)) {
+                    String value = hiveConf.get(name);
+                    name = name.substring(PAIMON_PREFIX.length());
+                    configMap.put(name, value);
+                }
             }
         }
         return Options.fromMap(configMap);
diff --git 
a/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/mapred/PaimonInputFormat.java
 
b/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/mapred/PaimonInputFormat.java
index f707ba843..91e778b47 100644
--- 
a/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/mapred/PaimonInputFormat.java
+++ 
b/paimon-hive/paimon-hive-connector-common/src/main/java/org/apache/paimon/hive/mapred/PaimonInputFormat.java
@@ -76,7 +76,7 @@ public class PaimonInputFormat implements InputFormat<Void, 
RowDataContainer> {
 
     private FileStoreTable createFileStoreTable(JobConf jobConf) {
         PaimonJobConf wrapper = new PaimonJobConf(jobConf);
-        Options options = new Options();
+        Options options = PaimonJobConf.extractCatalogConfig(jobConf);
         options.set(CoreOptions.PATH, wrapper.getLocation());
         CatalogContext catalogContext = CatalogContext.create(options, 
jobConf);
         return FileStoreTableFactory.create(catalogContext);

Reply via email to