You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2016/11/26 01:19:35 UTC
kylin git commit: KYLIN-2217 add ReadableTable.exists()
Repository: kylin
Updated Branches:
refs/heads/KYLIN-2217-2 643cbe955 -> df94ac293
KYLIN-2217 add ReadableTable.exists()
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/df94ac29
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/df94ac29
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/df94ac29
Branch: refs/heads/KYLIN-2217-2
Commit: df94ac29305298acd19df83b24600ab6c4164bdd
Parents: 643cbe9
Author: Yang Li <li...@apache.org>
Authored: Sat Nov 26 09:18:23 2016 +0800
Committer: Yang Li <li...@apache.org>
Committed: Sat Nov 26 09:19:00 2016 +0800
----------------------------------------------------------------------
.../java/org/apache/kylin/dict/DictionaryManager.java | 2 ++
.../java/org/apache/kylin/dict/lookup/SnapshotTable.java | 5 +++++
.../main/java/org/apache/kylin/source/ReadableTable.java | 4 +++-
.../java/org/apache/kylin/engine/mr/DFSFileTable.java | 10 ++++++++++
.../org/apache/kylin/engine/mr/SortedColumnDFSFile.java | 5 +++++
5 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
index 37e4757..4473a53 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryManager.java
@@ -276,6 +276,8 @@ public class DictionaryManager {
}
public DictionaryInfo buildDictionary(DataModelDesc model, TblColRef col, ReadableTable inpTable, String builderClass) throws IOException {
+ if (inpTable.exists() == false)
+ return null;
logger.info("building dictionary for " + col);
http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
----------------------------------------------------------------------
diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java b/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
index f2edcb4..9d38dba 100644
--- a/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
+++ b/core-dictionary/src/main/java/org/apache/kylin/dict/lookup/SnapshotTable.java
@@ -164,6 +164,11 @@ public class SnapshotTable extends RootPersistentEntity implements ReadableTable
return signature;
}
+ @Override
+ public boolean exists() throws IOException {
+ return true;
+ }
+
/**
* a naive implementation
*
http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java b/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
index f127821..8ea96de 100644
--- a/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
+++ b/core-metadata/src/main/java/org/apache/kylin/source/ReadableTable.java
@@ -35,9 +35,11 @@ public interface ReadableTable {
public TableReader getReader() throws IOException;
/**
- * Used to detect table modifications mainly. Return null in case table does not exist.
+ * Used to detect table modifications.
*/
public TableSignature getSignature() throws IOException;
+
+ public boolean exists() throws IOException;
public interface TableReader extends Closeable {
http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java
index 6f337d0..ee932ac 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTable.java
@@ -69,6 +69,16 @@ public class DFSFileTable implements ReadableTable {
}
return new TableSignature(path, sizeAndLastModified.getFirst(), sizeAndLastModified.getSecond());
}
+
+ @Override
+ public boolean exists() throws IOException {
+ try {
+ getSizeAndLastModified(path);
+ return true;
+ } catch (FileNotFoundException ex) {
+ return false;
+ }
+ }
@Override
public String toString() {
http://git-wip-us.apache.org/repos/asf/kylin/blob/df94ac29/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java
----------------------------------------------------------------------
diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java
index d0ee3ee..62c309a 100644
--- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java
+++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/SortedColumnDFSFile.java
@@ -84,6 +84,11 @@ public class SortedColumnDFSFile implements ReadableTable {
public TableSignature getSignature() throws IOException {
return dfsFileTable.getSignature();
}
+
+ @Override
+ public boolean exists() throws IOException {
+ return dfsFileTable.exists();
+ }
private Comparator<String> getComparatorByType(DataType type) {
Comparator<String> comparator;