Repository: kylin Updated Branches: refs/heads/master-hbase0.98 6afed18be -> a620433a1 (forced update)
KYLIN-2454 use quoted identifier for hive in dataGen tool Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/4d08be56 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/4d08be56 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/4d08be56 Branch: refs/heads/master-hbase0.98 Commit: 4d08be56184eaebd2d8cff9597ce9a15f02fe9cc Parents: a60f893 Author: lidongsjtu <lid...@apache.org> Authored: Fri Feb 17 23:21:08 2017 +0800 Committer: lidongsjtu <lid...@apache.org> Committed: Fri Feb 17 23:21:08 2017 +0800 ---------------------------------------------------------------------- .../kylin/source/datagen/ModelDataGenerator.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/4d08be56/core-metadata/src/main/java/org/apache/kylin/source/datagen/ModelDataGenerator.java ---------------------------------------------------------------------- diff --git a/core-metadata/src/main/java/org/apache/kylin/source/datagen/ModelDataGenerator.java b/core-metadata/src/main/java/org/apache/kylin/source/datagen/ModelDataGenerator.java index f1e6d9f..3caf2f4 100644 --- a/core-metadata/src/main/java/org/apache/kylin/source/datagen/ModelDataGenerator.java +++ b/core-metadata/src/main/java/org/apache/kylin/source/datagen/ModelDataGenerator.java @@ -166,7 +166,7 @@ public class ModelDataGenerator { } for (String db : dbs) { - out.print("CREATE DATABASE IF NOT EXISTS " + db + ";\n"); + out.print("CREATE DATABASE IF NOT EXISTS " + normHiveIdentifier(db) + ";\n"); } out.print("\n"); } @@ -176,9 +176,9 @@ public class ModelDataGenerator { if (t.isView()) continue; - out.print("DROP TABLE IF EXISTS " + t.getIdentity() + ";\n"); + out.print("DROP TABLE IF EXISTS " + normHiveIdentifier(t.getIdentity()) + ";\n"); - out.print("CREATE TABLE " + t.getIdentity() + "(" + "\n"); + out.print("CREATE TABLE " + normHiveIdentifier(t.getIdentity()) + "(" + "\n"); for (int i = 0; i < t.getColumns().length; i++) { ColumnDesc col = t.getColumns()[i]; @@ -186,7 +186,7 @@ public class ModelDataGenerator { if (i > 0) { out.print(","); } - out.print(col.getName() + " " + hiveType(col.getType()) + "\n"); + out.print(normHiveIdentifier(col.getName()) + " " + hiveType(col.getType()) + "\n"); } out.print(")" + "\n"); @@ -196,6 +196,10 @@ public class ModelDataGenerator { } } + private String normHiveIdentifier(String orig) { + return "`" + orig + "`"; + } + private String hiveType(DataType type) { String t = type.toString(); if (t.startsWith("varchar")) @@ -213,7 +217,7 @@ public class ModelDataGenerator { continue; } - out.print("LOAD DATA LOCAL INPATH '" + t.getIdentity() + ".csv' OVERWRITE INTO TABLE " + t.getIdentity() + ";\n"); + out.print("LOAD DATA LOCAL INPATH '" + t.getIdentity() + ".csv' OVERWRITE INTO TABLE " + normHiveIdentifier(t.getIdentity()) + ";\n"); } }