From 1f5d46bd4a11cbe2a81d6c49dbc2def031ad3af5 Mon Sep 17 00:00:00 2001 From: Dongjoon Hyun Date: Sun, 29 Mar 2015 16:14:11 +0900 Subject: [PATCH] TAJO-1463: Add ORCFile store type to create ORCFile table --- .../src/main/java/org/apache/tajo/catalog/CatalogUtil.java | 2 ++ .../tajo-catalog-common/src/main/proto/CatalogProtos.proto | 1 + .../main/java/org/apache/tajo/storage/StorageManager.java | 7 +++++-- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java index dcfad8d383..8e982169d4 100644 --- a/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java +++ b/tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/CatalogUtil.java @@ -278,6 +278,8 @@ public static StoreType getStoreType(final String typeStr) { return StoreType.ROWFILE; } else if (typeStr.equalsIgnoreCase(StoreType.RCFILE.name())) { return StoreType.RCFILE; + } else if (typeStr.equalsIgnoreCase(StoreType.ORCFILE.name())) { + return StoreType.ORCFILE; } else if (typeStr.equalsIgnoreCase(StoreType.PARQUET.name())) { return StoreType.PARQUET; } else if (typeStr.equalsIgnoreCase(StoreType.SEQUENCEFILE.name())) { diff --git a/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto b/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto index fd2cb19399..052be82277 100644 --- a/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto +++ b/tajo-catalog/tajo-catalog-common/src/main/proto/CatalogProtos.proto @@ -32,6 +32,7 @@ enum StoreType { RCFILE = 3; ROWFILE = 4; HCFILE = 5; + ORCFILE = 6; PARQUET = 7; SEQUENCEFILE = 8; AVRO = 9; diff --git a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/StorageManager.java b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/StorageManager.java index ce963c8374..3c228b0c4a 100644 --- a/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/StorageManager.java +++ b/tajo-storage/tajo-storage-common/src/main/java/org/apache/tajo/storage/StorageManager.java @@ -31,6 +31,7 @@ import org.apache.tajo.catalog.proto.CatalogProtos.StoreType; import org.apache.tajo.conf.TajoConf; import org.apache.tajo.conf.TajoConf.ConfVars; +import org.apache.tajo.exception.UnsupportedException; import org.apache.tajo.plan.LogicalPlan; import org.apache.tajo.plan.logical.LogicalNode; import org.apache.tajo.plan.logical.NodeType; @@ -538,11 +539,13 @@ public Class getScannerClass(CatalogProtos.StoreType storeTyp if (scannerClass == null) { scannerClass = conf.getClass( String.format("tajo.storage.scanner-handler.%s.class", handlerName), null, Scanner.class); - SCANNER_HANDLER_CACHE.put(handlerName, scannerClass); + if (scannerClass != null) { + SCANNER_HANDLER_CACHE.put(handlerName, scannerClass); + } } if (scannerClass == null) { - throw new IOException("Unknown Storage Type: " + storeType.name()); + throw new UnsupportedException("Unsupported Storage Type: " + storeType.name()); } return scannerClass;