http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/examples/sample_cube/template/cube_desc/kylin_sales_cube.json ---------------------------------------------------------------------- diff --git a/examples/sample_cube/template/cube_desc/kylin_sales_cube.json b/examples/sample_cube/template/cube_desc/kylin_sales_cube.json index eb17922..48eef46 100644 --- a/examples/sample_cube/template/cube_desc/kylin_sales_cube.json +++ b/examples/sample_cube/template/cube_desc/kylin_sales_cube.json @@ -6,27 +6,32 @@ "description" : null, "null_string" : null, "dimensions" : [ { + "name" : "TRANS_ID", + "table" : "DEFAULT.KYLIN_SALES", + "column" : "TRANS_ID", + "derived" : null + }, { "name" : "CAL_DT", "table" : "DEFAULT.KYLIN_CAL_DT", "column" : "{FK}", - "derived" : [ "WEEK_BEG_DT" ] + "derived" : [ "WEEK_BEG_DT", "MONTH_BEG_DT", "YEAR_BEG_DT" ] }, { "name" : "CATEGORY", "table" : "DEFAULT.KYLIN_CATEGORY_GROUPINGS", "column" : "{FK}", "derived" : [ "USER_DEFINED_FIELD1", "USER_DEFINED_FIELD3" ] }, { - "name" : "CATEGORY_HIERARCHY", + "name" : "META_CATEG_NAME", "table" : "DEFAULT.KYLIN_CATEGORY_GROUPINGS", "column" : "META_CATEG_NAME", "derived" : null }, { - "name" : "CATEGORY_HIERARCHY", + "name" : "CATEG_LVL2_NAME", "table" : "DEFAULT.KYLIN_CATEGORY_GROUPINGS", "column" : "CATEG_LVL2_NAME", "derived" : null }, { - "name" : "CATEGORY_HIERARCHY", + "name" : "CATEG_LVL3_NAME", "table" : "DEFAULT.KYLIN_CATEGORY_GROUPINGS", "column" : "CATEG_LVL3_NAME", "derived" : null @@ -36,14 +41,54 @@ "column" : "LSTG_FORMAT_NAME", "derived" : null }, { - "name" : "USER_ID", + "name" : "SELLER_ID", "table" : "DEFAULT.KYLIN_SALES", - "column" : "USER_ID", + "column" : "SELLER_ID", "derived" : null }, { - "name" : "REGION", + "name" : "BUYER_ID", "table" : "DEFAULT.KYLIN_SALES", - "column" : "REGION", + "column" : "BUYER_ID", + "derived" : null + }, { + "name" : "ACCOUNT_BUYER_LEVEL", + "table" : "BUYER_ACCOUNT", + "column" : "ACCOUNT_BUYER_LEVEL", + "derived" : null + }, { + "name" : "ACCOUNT_SELLER_LEVEL", + "table" : "SELLER_ACCOUNT", + "column" : "ACCOUNT_SELLER_LEVEL", + "derived" : null + }, { + "name" : "BUYER_COUNTRY", + "table" : "BUYER_ACCOUNT", + "column" : "ACCOUNT_COUNTRY", + "derived" : null + }, { + "name" : "SELLER_COUNTRY", + "table" : "SELLER_ACCOUNT", + "column" : "ACCOUNT_COUNTRY", + "derived" : null + }, { + "name" : "BUYER_COUNTRY_NAME", + "table" : "BUYER_COUNTRY", + "column" : "NAME", + "derived" : null + }, { + "name" : "SELLER_COUNTRY_NAME", + "table" : "SELLER_COUNTRY", + "column" : "NAME", + "derived" : null + }, { + "name" : "OPS_USER_ID", + "table" : "DEFAULT.KYLIN_SALES", + "column" : "OPS_USER_ID", + "derived" : null + }, { + "name" : "OPS_REGION", + "table" : "DEFAULT.KYLIN_SALES", + "column" : "OPS_REGION", "derived" : null } ], "measures" : [ { @@ -56,8 +101,7 @@ "next_parameter" : null }, "returntype" : "decimal(19,4)" - }, - "dependent_measure_ref" : null + } }, { "name" : "GMV_MIN", "function" : { @@ -68,8 +112,7 @@ "next_parameter" : null }, "returntype" : "decimal(19,4)" - }, - "dependent_measure_ref" : null + } }, { "name" : "GMV_MAX", "function" : { @@ -80,8 +123,7 @@ "next_parameter" : null }, "returntype" : "decimal(19,4)" - }, - "dependent_measure_ref" : null + } }, { "name" : "TRANS_CNT", "function" : { @@ -92,8 +134,7 @@ "next_parameter" : null }, "returntype" : "bigint" - }, - "dependent_measure_ref" : null + } }, { "name" : "SELLER_CNT_HLL", "function" : { @@ -104,20 +145,7 @@ "next_parameter" : null }, "returntype" : "hllc(10)" - }, - "dependent_measure_ref" : null - }, { - "name" : "SELLER_FORMAT_CNT", - "function" : { - "expression" : "COUNT_DISTINCT", - "parameter" : { - "type" : "column", - "value" : "LSTG_FORMAT_NAME", - "next_parameter" : null - }, - "returntype" : "hllc(10)" - }, - "dependent_measure_ref" : null + } }, { "name" : "TOP_SELLER", "function" : { @@ -132,13 +160,21 @@ } }, "returntype" : "topn(100)" - }, - "dependent_measure_ref" : null + } } ], "rowkey" : { "rowkey_columns" : [ { + "column" : "BUYER_ID", + "encoding" : "integer:4" + }, { + "column" : "SELLER_ID", + "encoding" : "integer:4" + }, { + "column" : "TRANS_ID", + "encoding" : "integer:4" + }, { "column" : "PART_DT", - "encoding" : "dict" + "encoding" : "date" }, { "column" : "LEAF_CATEG_ID", "encoding" : "dict" @@ -152,17 +188,35 @@ "column" : "CATEG_LVL3_NAME", "encoding" : "dict" }, { - "column" : "LSTG_FORMAT_NAME", - "encoding" : "fixed_length:12" + "column" : "BUYER_ACCOUNT.ACCOUNT_BUYER_LEVEL", + "encoding" : "dict" + }, { + "column" : "SELLER_ACCOUNT.ACCOUNT_SELLER_LEVEL", + "encoding" : "dict" }, { - "column" : "USER_ID", + "column" : "BUYER_ACCOUNT.ACCOUNT_COUNTRY", "encoding" : "dict" }, { - "column" : "REGION", + "column" : "SELLER_ACCOUNT.ACCOUNT_COUNTRY", + "encoding" : "dict" + }, { + "column" : "BUYER_COUNTRY.NAME", + "encoding" : "dict" + }, { + "column" : "SELLER_COUNTRY.NAME", + "encoding" : "dict" + }, { + "column" : "LSTG_FORMAT_NAME", "encoding" : "dict" }, { "column" : "LSTG_SITE_ID", "encoding" : "dict" + }, { + "column" : "OPS_USER_ID", + "encoding" : "dict" + }, { + "column" : "OPS_REGION", + "encoding" : "dict" } ] }, "hbase_mapping" : { @@ -170,21 +224,34 @@ "name" : "F1", "columns" : [ { "qualifier" : "M", - "measure_refs" : [ "GMV_SUM", "GMV_MIN", "GMV_MAX", "TRANS_CNT", "TOP_SELLER" ] + "measure_refs" : [ "GMV_SUM", "GMV_MIN", "GMV_MAX", "TRANS_CNT" ] } ] }, { "name" : "F2", "columns" : [ { "qualifier" : "M", - "measure_refs" : [ "SELLER_CNT_HLL", "SELLER_FORMAT_CNT" ] + "measure_refs" : [ "SELLER_CNT_HLL", "TOP_SELLER" ] } ] } ] }, "aggregation_groups" : [ { - "includes" : [ "CATEG_LVL2_NAME", "CATEG_LVL3_NAME", "LEAF_CATEG_ID", "LSTG_FORMAT_NAME", "LSTG_SITE_ID", "META_CATEG_NAME", "PART_DT" ], + "includes" : [ "PART_DT", "META_CATEG_NAME", "CATEG_LVL2_NAME", "CATEG_LVL3_NAME", "LEAF_CATEG_ID", "LSTG_FORMAT_NAME", "LSTG_SITE_ID", "OPS_USER_ID", "OPS_REGION", + "BUYER_ACCOUNT.ACCOUNT_BUYER_LEVEL", "SELLER_ACCOUNT.ACCOUNT_SELLER_LEVEL", "BUYER_ACCOUNT.ACCOUNT_COUNTRY", "SELLER_ACCOUNT.ACCOUNT_COUNTRY", "BUYER_COUNTRY.NAME", "SELLER_COUNTRY.NAME" ], + "select_rule" : { + "hierarchy_dims" : [ [ "META_CATEG_NAME", "CATEG_LVL2_NAME", "CATEG_LVL3_NAME", "LEAF_CATEG_ID" ] ], + "mandatory_dims" : [ "PART_DT" ], + "joint_dims" : [ [ "BUYER_ACCOUNT.ACCOUNT_COUNTRY", "BUYER_COUNTRY.NAME" ], [ "SELLER_ACCOUNT.ACCOUNT_COUNTRY", "SELLER_COUNTRY.NAME" ], + [ "BUYER_ACCOUNT.ACCOUNT_BUYER_LEVEL", "SELLER_ACCOUNT.ACCOUNT_SELLER_LEVEL" ], [ "LSTG_FORMAT_NAME", "LSTG_SITE_ID" ], [ "OPS_USER_ID", "OPS_REGION" ] ] + } + }, { + "includes" : [ "TRANS_ID", "BUYER_ID", "SELLER_ID", + "PART_DT", "META_CATEG_NAME", "CATEG_LVL2_NAME", "CATEG_LVL3_NAME", "LEAF_CATEG_ID", "LSTG_FORMAT_NAME", "LSTG_SITE_ID", "OPS_USER_ID", "OPS_REGION", + "BUYER_ACCOUNT.ACCOUNT_BUYER_LEVEL", "SELLER_ACCOUNT.ACCOUNT_SELLER_LEVEL", "BUYER_ACCOUNT.ACCOUNT_COUNTRY", "SELLER_ACCOUNT.ACCOUNT_COUNTRY", "BUYER_COUNTRY.NAME", "SELLER_COUNTRY.NAME" ], "select_rule" : { - "hierarchy_dims" : [ [ "META_CATEG_NAME", "CATEG_LVL2_NAME", "CATEG_LVL3_NAME" ] ], - "mandatory_dims" : [ ], + "hierarchy_dims" : [ ], + "mandatory_dims" : [ "TRANS_ID", "BUYER_ID", "SELLER_ID", + "PART_DT", "META_CATEG_NAME", "CATEG_LVL2_NAME", "CATEG_LVL3_NAME", "LEAF_CATEG_ID", "LSTG_FORMAT_NAME", "LSTG_SITE_ID", "OPS_USER_ID", "OPS_REGION", + "BUYER_ACCOUNT.ACCOUNT_BUYER_LEVEL", "SELLER_ACCOUNT.ACCOUNT_SELLER_LEVEL", "BUYER_ACCOUNT.ACCOUNT_COUNTRY", "SELLER_ACCOUNT.ACCOUNT_COUNTRY", "BUYER_COUNTRY.NAME", "SELLER_COUNTRY.NAME" ], "joint_dims" : [ ] } } ], @@ -194,6 +261,8 @@ "auto_merge_time_ranges" : null, "retention_range" : 0, "engine_type" : %default_engine_type%, - "storage_type" : %default_storage_type%, - "override_kylin_properties" : { } + "storage_type" : %default_engine_type%, + "override_kylin_properties" : { + "kylin.cube.aggrgroup.is-mandatory-only-valid" : "true" + } }
http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/examples/sample_cube/template/model_desc/kylin_sales_model.json ---------------------------------------------------------------------- diff --git a/examples/sample_cube/template/model_desc/kylin_sales_model.json b/examples/sample_cube/template/model_desc/kylin_sales_model.json index 3c4fa5a..2d3cfb6 100644 --- a/examples/sample_cube/template/model_desc/kylin_sales_model.json +++ b/examples/sample_cube/template/model_desc/kylin_sales_model.json @@ -15,16 +15,60 @@ "primary_key" : [ "LEAF_CATEG_ID", "SITE_ID" ], "foreign_key" : [ "LEAF_CATEG_ID", "LSTG_SITE_ID" ] } + }, { + "table" : "DEFAULT.KYLIN_ACCOUNT", + "alias" : "BUYER_ACCOUNT", + "join" : { + "type" : "inner", + "primary_key" : [ "ACCOUNT_ID" ], + "foreign_key" : [ "BUYER_ID" ] + } + }, { + "table" : "DEFAULT.KYLIN_ACCOUNT", + "alias" : "SELLER_ACCOUNT", + "join" : { + "type" : "inner", + "primary_key" : [ "ACCOUNT_ID" ], + "foreign_key" : [ "SELLER_ID" ] + } + }, { + "table" : "DEFAULT.KYLIN_COUNTRY", + "alias" : "BUYER_COUNTRY", + "join" : { + "type" : "inner", + "primary_key" : [ "COUNTRY" ], + "foreign_key" : [ "BUYER_ACCOUNT.ACCOUNT_COUNTRY" ] + } + }, { + "table" : "DEFAULT.KYLIN_COUNTRY", + "alias" : "SELLER_COUNTRY", + "join" : { + "type" : "inner", + "primary_key" : [ "COUNTRY" ], + "foreign_key" : [ "SELLER_ACCOUNT.ACCOUNT_COUNTRY" ] + } }], "dimensions" : [ { + "table" : "DEFAULT.KYLIN_SALES", + "columns" : [ "TRANS_ID", "SELLER_ID", "BUYER_ID", "PART_DT", "LEAF_CATEG_ID", "LSTG_FORMAT_NAME", "LSTG_SITE_ID", "OPS_USER_ID", "OPS_REGION" ] + }, { "table" : "DEFAULT.KYLIN_CAL_DT", "columns" : ["CAL_DT", "WEEK_BEG_DT"] }, { "table" : "DEFAULT.KYLIN_CATEGORY_GROUPINGS", - "columns" : [ "USER_DEFINED_FIELD1", "USER_DEFINED_FIELD3", "META_CATEG_NAME", "CATEG_LVL2_NAME", "CATEG_LVL3_NAME" ] + "columns" : [ "USER_DEFINED_FIELD1", "USER_DEFINED_FIELD3", "META_CATEG_NAME", "CATEG_LVL2_NAME", "CATEG_LVL3_NAME", "LEAF_CATEG_ID", "SITE_ID" ] }, { - "table" : "DEFAULT.KYLIN_SALES", - "columns" : [ "LSTG_FORMAT_NAME", "SELLER_ID", "PART_DT", "USER_ID", "REGION" ] + "table" : "BUYER_ACCOUNT", + "columns" : [ "ACCOUNT_ID", "ACCOUNT_BUYER_LEVEL", "ACCOUNT_SELLER_LEVEL", "ACCOUNT_COUNTRY", "ACCOUNT_CONTACT" ] + }, { + "table" : "SELLER_ACCOUNT", + "columns" : [ "ACCOUNT_ID", "ACCOUNT_BUYER_LEVEL", "ACCOUNT_SELLER_LEVEL", "ACCOUNT_COUNTRY", "ACCOUNT_CONTACT" ] + }, { + "table" : "BUYER_COUNTRY", + "columns" : [ "COUNTRY", "NAME" ] + }, { + "table" : "SELLER_COUNTRY", + "columns" : [ "COUNTRY", "NAME" ] } ], "metrics": [ "PRICE", http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/examples/sample_cube/template/table/DEFAULT.KYLIN_ACCOUNT.json ---------------------------------------------------------------------- diff --git a/examples/sample_cube/template/table/DEFAULT.KYLIN_ACCOUNT.json b/examples/sample_cube/template/table/DEFAULT.KYLIN_ACCOUNT.json new file mode 100644 index 0000000..f1b7755 --- /dev/null +++ b/examples/sample_cube/template/table/DEFAULT.KYLIN_ACCOUNT.json @@ -0,0 +1,28 @@ +{ + "uuid" : "f386e39e-40d7-44c2-9eb3-41b365632231", + + "name" : "KYLIN_ACCOUNT", + "columns" : [ { + "id" : "1", + "name" : "ACCOUNT_ID", + "datatype" : "bigint" + }, { + "id" : "2", + "name" : "ACCOUNT_BUYER_LEVEL", + "datatype" : "int" + }, { + "id" : "3", + "name" : "ACCOUNT_SELLER_LEVEL", + "datatype" : "int" + }, { + "id" : "4", + "name" : "ACCOUNT_COUNTRY", + "datatype" : "string" + }, { + "id" : "5", + "name" : "ACCOUNT_CONTACT", + "datatype" : "string" + } ], + "database" : "DEFAULT", + "last_modified" : 0 +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/examples/sample_cube/template/table/DEFAULT.KYLIN_SALES.json ---------------------------------------------------------------------- diff --git a/examples/sample_cube/template/table/DEFAULT.KYLIN_SALES.json b/examples/sample_cube/template/table/DEFAULT.KYLIN_SALES.json index fbeafb3..9286215 100644 --- a/examples/sample_cube/template/table/DEFAULT.KYLIN_SALES.json +++ b/examples/sample_cube/template/table/DEFAULT.KYLIN_SALES.json @@ -40,19 +40,15 @@ "datatype" : "bigint" }, { "id" : "10", - "name" : "BUYER_COUNTRY", - "datatype" : "string" + "name" : "BUYER_ID", + "datatype" : "bigint" }, { "id" : "11", - "name" : "SELLER_COUNTRY", + "name" : "OPS_USER_ID", "datatype" : "string" }, { "id" : "12", - "name" : "USER_ID", - "datatype" : "string" - }, { - "id" : "13", - "name" : "REGION", + "name" : "OPS_REGION", "datatype" : "string" } ], "database" : "DEFAULT", http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/examples/test_case_data/sandbox/kylin.properties ---------------------------------------------------------------------- diff --git a/examples/test_case_data/sandbox/kylin.properties b/examples/test_case_data/sandbox/kylin.properties index dc7132a..20bc427 100644 --- a/examples/test_case_data/sandbox/kylin.properties +++ b/examples/test_case_data/sandbox/kylin.properties @@ -39,7 +39,7 @@ kylin.source.hive.client=cli ### STORAGE ### # The metadata store in hbase -kylin.metadata.url=kylin_metadata@hbase +kylin.metadata.url=kylin_default_instance@hbase # The storage for final cube file in hbase kylin.storage.url=hbase http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/query/src/main/java/org/apache/kylin/query/relnode/OLAPJoinRel.java ---------------------------------------------------------------------- diff --git a/query/src/main/java/org/apache/kylin/query/relnode/OLAPJoinRel.java b/query/src/main/java/org/apache/kylin/query/relnode/OLAPJoinRel.java index 4c0a1dc..6869858 100644 --- a/query/src/main/java/org/apache/kylin/query/relnode/OLAPJoinRel.java +++ b/query/src/main/java/org/apache/kylin/query/relnode/OLAPJoinRel.java @@ -70,6 +70,7 @@ public class OLAPJoinRel extends EnumerableJoin implements OLAPRel { private OLAPContext context; private ColumnRowType columnRowType; + private int columnRowTypeLeftRightCut; private boolean isTopJoin; private boolean hasSubQuery; @@ -180,6 +181,8 @@ public class OLAPJoinRel extends EnumerableJoin implements OLAPRel { ColumnRowType leftColumnRowType = olapLeft.getColumnRowType(); columns.addAll(leftColumnRowType.getAllColumns()); + this.columnRowTypeLeftRightCut = columns.size(); + OLAPRel olapRight = (OLAPRel) this.right; ColumnRowType rightColumnRowType = olapRight.getColumnRowType(); columns.addAll(rightColumnRowType.getAllColumns()); @@ -198,21 +201,13 @@ public class OLAPJoinRel extends EnumerableJoin implements OLAPRel { List<TblColRef> pkCols = new ArrayList<TblColRef>(); List<String> fks = new ArrayList<String>(); List<TblColRef> fkCols = new ArrayList<TblColRef>(); - String factTable = context.firstTableScan.getTableName(); for (Map.Entry<TblColRef, TblColRef> columnPair : joinColumns.entrySet()) { TblColRef fromCol = columnPair.getKey(); TblColRef toCol = columnPair.getValue(); - if (factTable.equalsIgnoreCase(fromCol.getTable())) { - fks.add(fromCol.getName()); - fkCols.add(fromCol); - pks.add(toCol.getName()); - pkCols.add(toCol); - } else { - fks.add(toCol.getName()); - fkCols.add(toCol); - pks.add(fromCol.getName()); - pkCols.add(fromCol); - } + fks.add(fromCol.getName()); + fkCols.add(fromCol); + pks.add(toCol.getName()); + pkCols.add(toCol); } JoinDesc join = new JoinDesc(); @@ -237,7 +232,11 @@ public class OLAPJoinRel extends EnumerableJoin implements OLAPRel { TblColRef col0 = columnRowType.getColumnByIndex(op0.getIndex()); RexInputRef op1 = (RexInputRef) operands.get(1); TblColRef col1 = columnRowType.getColumnByIndex(op1.getIndex()); - joinColumns.put(col0, col1); + // map left => right + if (op0.getIndex() < columnRowTypeLeftRightCut) + joinColumns.put(col0, col1); + else + joinColumns.put(col1, col0); } } http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/server-base/src/main/java/org/apache/kylin/rest/security/AclHBaseStorage.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/security/AclHBaseStorage.java b/server-base/src/main/java/org/apache/kylin/rest/security/AclHBaseStorage.java index 38f299e..ea68855 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/security/AclHBaseStorage.java +++ b/server-base/src/main/java/org/apache/kylin/rest/security/AclHBaseStorage.java @@ -25,7 +25,6 @@ import org.apache.hadoop.hbase.client.HTableInterface; /** */ public interface AclHBaseStorage { - String DEFAULT_TABLE_PREFIX = "kylin_metadata"; String ACL_INFO_FAMILY = "i"; String ACL_ACES_FAMILY = "a"; http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/server-base/src/main/java/org/apache/kylin/rest/security/RealAclHBaseStorage.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/security/RealAclHBaseStorage.java b/server-base/src/main/java/org/apache/kylin/rest/security/RealAclHBaseStorage.java index ab18029..1d520c4 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/security/RealAclHBaseStorage.java +++ b/server-base/src/main/java/org/apache/kylin/rest/security/RealAclHBaseStorage.java @@ -38,10 +38,11 @@ public class RealAclHBaseStorage implements AclHBaseStorage { @Override public String prepareHBaseTable(Class<?> clazz) throws IOException { - String metadataUrl = KylinConfig.getInstanceFromEnv().getMetadataUrl(); + KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv(); + String metadataUrl = kylinConfig.getMetadataUrl(); int cut = metadataUrl.indexOf('@'); - String tableNameBase = cut < 0 ? DEFAULT_TABLE_PREFIX : metadataUrl.substring(0, cut); hbaseUrl = cut < 0 ? metadataUrl : metadataUrl.substring(cut + 1); + String tableNameBase = kylinConfig.getMetadataUrlPrefix(); if (clazz == AclService.class) { aclTableName = tableNameBase + ACL_TABLE_NAME; http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java index 81af044..4389a5d 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java @@ -104,7 +104,6 @@ public class QueryService extends BasicService { private static final Logger logger = LoggerFactory.getLogger(QueryService.class); public static final String USER_QUERY_FAMILY = "q"; - private static final String DEFAULT_TABLE_PREFIX = "kylin_metadata"; private static final String USER_TABLE_NAME = "_user"; private static final String USER_QUERY_COLUMN = "c"; @@ -129,11 +128,12 @@ public class QueryService extends BasicService { } public QueryService() { - String metadataUrl = KylinConfig.getInstanceFromEnv().getMetadataUrl(); + KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv(); + String metadataUrl = kylinConfig.getMetadataUrl(); // split TABLE@HBASE_URL int cut = metadataUrl.indexOf('@'); - String tableNameBase = cut < 0 ? DEFAULT_TABLE_PREFIX : metadataUrl.substring(0, cut); hbaseUrl = cut < 0 ? metadataUrl : metadataUrl.substring(cut + 1); + String tableNameBase = kylinConfig.getMetadataUrlPrefix(); userTableName = tableNameBase + USER_TABLE_NAME; badQueryDetector.start(); http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseResourceStore.java ---------------------------------------------------------------------- diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseResourceStore.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseResourceStore.java index 82cc93c..1d19983 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseResourceStore.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseResourceStore.java @@ -58,7 +58,7 @@ public class HBaseResourceStore extends ResourceStore { private static final Logger logger = LoggerFactory.getLogger(HBaseResourceStore.class); - private static final String DEFAULT_TABLE_NAME = "kylin_metadata"; + private static final String DEFAULT_TABLE_NAME = "kylin_default_instance"; private static final String FAMILY = "f"; private static final byte[] B_FAMILY = Bytes.toBytes(FAMILY); private static final String COLUMN = "c"; http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/StorageCleanupJob.java ---------------------------------------------------------------------- diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/StorageCleanupJob.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/StorageCleanupJob.java index 90080b6..9fe5a23 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/StorageCleanupJob.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/StorageCleanupJob.java @@ -185,7 +185,7 @@ public class StorageCleanupJob extends AbstractApplication { // GlobFilter filter = new // GlobFilter(KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory() // + "/kylin-.*"); - // TODO: when first use, /kylin/kylin_metadata does not exist. + // TODO: when first use, /kylin/kylin_default_instance does not exist. FileStatus[] fStatus = fs.listStatus(new Path(KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory())); for (FileStatus status : fStatus) { String path = status.getPath().getName(); http://git-wip-us.apache.org/repos/asf/kylin/blob/a1a2a4a6/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java ---------------------------------------------------------------------- diff --git a/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java b/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java index b4accac..05e0142 100644 --- a/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java +++ b/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java @@ -190,7 +190,7 @@ public class StorageCleanupJob extends AbstractApplication { // GlobFilter filter = new // GlobFilter(KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory() // + "/kylin-.*"); - // TODO: when first use, /kylin/kylin_metadata does not exist. + // TODO: when first use, /kylin/kylin_default_instance does not exist. FileStatus[] fStatus = fs.listStatus(new Path(KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory())); for (FileStatus status : fStatus) { String path = status.getPath().getName();