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);