[6/9] kylin git commit: KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance'
http://git-wip-us.apache.org/repos/asf/kylin/blob/4271f108/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" :
[1/9] kylin git commit: KYLIN-1793 Fix exit code issue in beeline mode [Forced Update!]
Repository: kylin Updated Branches: refs/heads/KYLIN-1875 7fd1fd924 -> 07322fafd (forced update) KYLIN-1793 Fix exit code issue in beeline mode Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/99f1dd9d Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/99f1dd9d Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/99f1dd9d Branch: refs/heads/KYLIN-1875 Commit: 99f1dd9d2460566748db2167e69a6a8a7689271d Parents: 5edffa5 Author: lidongsjtuAuthored: Mon Nov 28 08:35:05 2016 +0800 Committer: lidongsjtu Committed: Mon Nov 28 08:46:35 2016 +0800 -- .../java/org/apache/kylin/job/DeployUtil.java | 2 +- .../kylin/common/util/HiveCmdBuilder.java | 114 +++ .../kylin/common/util/HiveCmdBuilderTest.java | 80 + .../source/hive/CreateFlatHiveTableStep.java| 1 + .../kylin/source/hive/HiveCmdBuilder.java | 113 -- .../apache/kylin/source/hive/HiveMRInput.java | 1 + .../kylin/source/hive/HiveCmdBuilderTest.java | 83 -- .../storage/hbase/steps/DeprecatedGCStep.java | 2 +- .../storage/hbase/util/HiveCmdBuilder.java | 110 -- .../storage/hbase/util/StorageCleanupJob.java | 3 +- .../apache/kylin/tool/StorageCleanupJob.java| 2 +- 11 files changed, 201 insertions(+), 310 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/99f1dd9d/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java -- diff --git a/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java b/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java index 79a3b3b..23b3670 100644 --- a/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java +++ b/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java @@ -46,7 +46,7 @@ import org.apache.kylin.metadata.model.TableDesc; import org.apache.kylin.metadata.model.TableRef; import org.apache.kylin.metadata.model.TblColRef; import org.apache.kylin.source.hive.HiveClientFactory; -import org.apache.kylin.source.hive.HiveCmdBuilder; +import org.apache.kylin.common.util.HiveCmdBuilder; import org.apache.kylin.source.hive.IHiveClient; import org.apache.kylin.source.kafka.TimedJsonStreamParser; import org.apache.maven.model.Model; http://git-wip-us.apache.org/repos/asf/kylin/blob/99f1dd9d/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java new file mode 100644 index 000..5942ba9 --- /dev/null +++ b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java @@ -0,0 +1,114 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.kylin.common.util; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.nio.charset.Charset; +import java.util.ArrayList; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.kylin.common.KylinConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.collect.Lists; + +public class HiveCmdBuilder { +private static final Logger logger = LoggerFactory.getLogger(HiveCmdBuilder.class); + +public enum HiveClientMode { +CLI, BEELINE +} + +private HiveClientMode clientMode; +private KylinConfig kylinConfig; +final private ArrayList statements = Lists.newArrayList(); + +public HiveCmdBuilder() { +kylinConfig = KylinConfig.getInstanceFromEnv(); +clientMode = HiveClientMode.valueOf(kylinConfig.getHiveClientMode().toUpperCase()); +} + +public String build() { +StringBuffer buf = new StringBuffer(); + +switch (clientMode) { +case CLI:
[9/9] kylin git commit: KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance'
KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance' Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/4271f108 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/4271f108 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/4271f108 Branch: refs/heads/KYLIN-1875 Commit: 4271f108e4134ccf43034fd4a350cf33cd9d2f17 Parents: 3f10b3a Author: Yang LiAuthored: Sun Nov 27 18:26:33 2016 +0800 Committer: Li Yang Committed: Mon Nov 28 14:22:20 2016 +0800 -- build/conf/kylin.properties | 2 +- .../apache/kylin/common/KylinConfigBase.java|11 +- .../kylin/metadata/model/DataModelDesc.java | 3 + .../kylin/metadata/model/MeasureDesc.java | 5 + .../realization/IRealizationConstants.java | 2 +- examples/sample_cube/create_sample_tables.sql |21 +- .../sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv | 1 + .../sample_cube/data/DEFAULT.KYLIN_SALES.csv| 2 - .../template/cube_desc/kylin_sales_cube.json| 157 +- .../template/model_desc/kylin_sales_model.json |50 +- .../template/table/DEFAULT.KYLIN_ACCOUNT.json |28 + .../template/table/DEFAULT.KYLIN_SALES.json |12 +- .../test_case_data/sandbox/kylin.properties | 2 +- .../apache/kylin/query/relnode/OLAPJoinRel.java |25 +- .../kylin/rest/security/AclHBaseStorage.java| 1 - .../rest/security/RealAclHBaseStorage.java | 5 +- .../apache/kylin/rest/service/QueryService.java | 6 +- .../kylin/storage/hbase/HBaseResourceStore.java | 2 +- .../storage/hbase/util/StorageCleanupJob.java | 2 +- .../apache/kylin/tool/StorageCleanupJob.java| 2 +- 20 files changed, 20246 insertions(+), 10090 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/4271f108/build/conf/kylin.properties -- diff --git a/build/conf/kylin.properties b/build/conf/kylin.properties index 1409394..131a725 100644 --- a/build/conf/kylin.properties +++ b/build/conf/kylin.properties @@ -18,7 +18,7 @@ ### METADATA | ENV ### # The metadata store in hbase -kylin.metadata.url=kylin_metadata@hbase +kylin.metadata.url=kylin_default_instance@hbase # Working folder in HDFS, make sure user has the right access to the hdfs directory kylin.env.hdfs-working-dir=/kylin http://git-wip-us.apache.org/repos/asf/kylin/blob/4271f108/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index aa5e6e1..7dcc771 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -188,13 +188,12 @@ abstract public class KylinConfigBase implements Serializable { } public String getMetadataUrlPrefix() { -String hbaseMetadataUrl = getMetadataUrl(); -String defaultPrefix = "kylin_metadata"; +String metadataUrl = getMetadataUrl(); +String defaultPrefix = "kylin_default_instance"; -if (org.apache.commons.lang3.StringUtils.containsIgnoreCase(hbaseMetadataUrl, "@hbase")) { -int cut = hbaseMetadataUrl.indexOf('@'); -String tmp = cut < 0 ? defaultPrefix : hbaseMetadataUrl.substring(0, cut); -return tmp; +if (metadataUrl.endsWith("@hbase")) { +int cut = metadataUrl.lastIndexOf('@'); +return metadataUrl.substring(0, cut); } else { return defaultPrefix; } http://git-wip-us.apache.org/repos/asf/kylin/blob/4271f108/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java index c2de5d6..ff92def 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java @@ -378,6 +378,9 @@ public class DataModelDesc extends RootPersistentEntity { for (int i = 0; i < pks.length; i++) { TblColRef col = dimTable.getColumn(pks[i]); if (col == null) { +col = findColumn(pks[i]); +} +if (col == null || col.getTableRef().equals(dimTable) == false) {
[5/9] kylin git commit: fix UT
fix UT Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/07322faf Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/07322faf Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/07322faf Branch: refs/heads/KYLIN-1875 Commit: 07322fafdb1c2475df924d61167cf70806a08020 Parents: 237c763 Author: Li YangAuthored: Mon Nov 28 14:22:02 2016 +0800 Committer: Li Yang Committed: Mon Nov 28 14:22:20 2016 +0800 -- .../localmeta/cube_desc/test_kylin_snowflake_sales_cube.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/07322faf/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json -- diff --git a/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json b/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json index aa0f874..ee0d68c 100644 --- a/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json +++ b/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json @@ -260,8 +260,8 @@ "partition_date_start" : 132537600, "auto_merge_time_ranges" : null, "retention_range" : 0, - "engine_type" : %default_engine_type%, - "storage_type" : %default_engine_type%, + "engine_type" : 2, + "storage_type" : 2, "override_kylin_properties" : { "kylin.cube.aggrgroup.is-mandatory-only-valid" : "true" }
[4/9] kylin git commit: JoinsTree complete, simple query pass
JoinsTree complete, simple query pass Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/237c7632 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/237c7632 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/237c7632 Branch: refs/heads/KYLIN-1875 Commit: 237c7632a7fd4cb5cfaeaadf028d952a5817c024 Parents: e9ccf5f Author: Li YangAuthored: Mon Nov 28 14:04:39 2016 +0800 Committer: Li Yang Committed: Mon Nov 28 14:22:20 2016 +0800 -- .../apache/kylin/dict/DictionaryManager.java| 4 +- .../kylin/metadata/model/DataModelDesc.java | 30 +- .../apache/kylin/metadata/model/JoinsTree.java | 61 ++- .../kylin/metadata/MetadataManagerTest.java | 11 +- .../kylin/metadata/model/JoinsTreeTest.java | 74 .../test_kylin_snowflake_sales_cube.json| 268 .../test_kylin_snowflake_model_desc.json| 161 .../test_kylin_snowflake_sales_model.json | 87 .../localmeta/table/SNOWTEST.KYLIN_ACCOUNT.json | 28 ++ .../localmeta/table/SNOWTEST.KYLIN_CAL_DT.json | 408 +++ .../SNOWTEST.KYLIN_CATEGORY_GROUPINGS.json | 152 +++ .../localmeta/table/SNOWTEST.KYLIN_COUNTRY.json | 24 ++ .../localmeta/table/SNOWTEST.KYLIN_SALES.json | 56 +++ .../apache/kylin/query/relnode/OLAPContext.java | 2 + .../kylin/query/relnode/OLAPTableScan.java | 7 +- .../kylin/query/routing/ModelChooser.java | 46 +-- 16 files changed, 1175 insertions(+), 244 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/237c7632/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 3c64e45..6178234 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 @@ -339,7 +339,7 @@ public class DictionaryManager { // find a lookup table that the col joins as FK for (TableRef lookup : model.getLookupTables()) { -JoinDesc lookupJoin = model.getPKSideJoinMap().get(lookup); +JoinDesc lookupJoin = model.getJoinByPKSide(lookup); int find = ArrayUtils.indexOf(lookupJoin.getForeignKeyColumns(), col); if (find < 0) continue; @@ -358,7 +358,7 @@ public class DictionaryManager { return false; TableRef table = join.getFKSide(); -join = model.getPKSideJoinMap().get(table); +join = model.getJoinByPKSide(table); } return true; } http://git-wip-us.apache.org/repos/asf/kylin/blob/237c7632/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java index ff92def..d917571 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java @@ -97,8 +97,7 @@ public class DataModelDesc extends RootPersistentEntity { private Set allTableRefs = Sets.newLinkedHashSet(); private Map aliasMap = Maps.newHashMap(); // alias => TableRef, a table has exactly one alias private Map tableNameMap = Maps.newHashMap(); // name => TableRef, a table maybe referenced by multiple names -private Map pkSideJoinMap = Maps.newHashMap(); // table (PK side) => JoinTable -private Map fkSideJoinMap = Maps.newHashMap(); // table (FK side) => JoinDesc +private JoinsTree joinsTree; /** * Error messages during resolving json metadata @@ -151,12 +150,12 @@ public class DataModelDesc extends RootPersistentEntity { return joinTables; } -public Map getPKSideJoinMap() { -return pkSideJoinMap; +public JoinDesc getJoinByPKSide(TableRef table) { +return joinsTree.getJoinByPKSide(table); } - -public Map getFKSideJoinMap() { -return fkSideJoinMap; + +public JoinsTree getJoinsTree() { +return joinsTree; } @Deprecated @@ -282,6 +281,7 @@ public class DataModelDesc extends RootPersistentEntity { initJoinTablesForUpgrade(); initTableAlias(tables); initJoinColumns(); +
[2/9] kylin git commit: minor, update 1.6 doc links in README.md
minor, update 1.6 doc links in README.md Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/3f10b3a5 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/3f10b3a5 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/3f10b3a5 Branch: refs/heads/KYLIN-1875 Commit: 3f10b3a534166f43118caf0564ad521a9fb2632f Parents: 99f1dd9 Author: lidongsjtuAuthored: Mon Nov 28 09:02:28 2016 +0800 Committer: lidongsjtu Committed: Mon Nov 28 09:02:36 2016 +0800 -- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/3f10b3a5/README.md -- diff --git a/README.md b/README.md index e72bd56..06e5ba4 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ For more details, see the website [http://kylin.apache.org](http://kylin.apache. Documentation = -Please refer to [http://kylin.apache.org/docs15/](http://kylin.apache.org/docs15/). +Please refer to [http://kylin.apache.org/docs16/](http://kylin.apache.org/docs16/). Get Help
[8/9] kylin git commit: KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance'
http://git-wip-us.apache.org/repos/asf/kylin/blob/4271f108/examples/sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv -- diff --git a/examples/sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv b/examples/sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv new file mode 100644 index 000..253afbf --- /dev/null +++ b/examples/sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv @@ -0,0 +1,1 @@ +1000,1,4,FR,N/A +1001,0,1,DE,N/A +1002,0,1,IT,N/A +1003,4,2,DE,N/A +1004,2,3,JP,N/A +1005,0,1,CN,N/A +1006,2,3,JP,N/A +1007,0,2,GB,N/A +1008,5,3,US,N/A +1009,1,3,US,N/A +1010,1,1,IT,N/A +1011,2,4,FR,N/A +1012,3,1,CN,N/A +1013,1,1,FR,N/A +1014,5,3,CN,N/A +1015,3,5,IT,N/A +1016,4,5,JP,N/A +1017,3,4,US,N/A +1018,0,5,CN,N/A +1019,4,4,GB,N/A +1020,4,4,IT,N/A +1021,1,2,FR,N/A +1022,2,2,DE,N/A +1023,0,1,GB,N/A +1024,3,4,IT,N/A +1025,4,4,JP,N/A +1026,5,4,IT,N/A +1027,2,4,FR,N/A +1028,2,2,GB,N/A +1029,1,1,GB,N/A +1030,5,5,CN,N/A +1031,4,2,CN,N/A +1032,1,3,CN,N/A +1033,2,1,JP,N/A +1034,2,1,JP,N/A +1035,4,2,US,N/A +1036,5,4,DE,N/A +1037,2,4,DE,N/A +1038,1,3,US,N/A +1039,3,5,US,N/A +1040,2,3,GB,N/A +1041,1,5,IT,N/A +1042,5,5,CN,N/A +1043,5,1,IT,N/A +1044,3,4,IT,N/A +1045,1,3,US,N/A +1046,3,3,JP,N/A +1047,2,2,FR,N/A +1048,5,4,JP,N/A +1049,3,1,JP,N/A +1050,3,5,JP,N/A +1051,5,1,US,N/A +1052,3,5,DE,N/A +1053,1,3,JP,N/A +1054,5,1,GB,N/A +1055,2,1,GB,N/A +1056,2,3,CN,N/A +1057,1,5,US,N/A +1058,2,2,CN,N/A +1059,2,4,FR,N/A +1060,0,3,FR,N/A +1061,0,5,FR,N/A +1062,1,1,US,N/A +1063,4,5,DE,N/A +1064,2,5,GB,N/A +1065,0,3,GB,N/A +1066,1,1,IT,N/A +1067,0,2,GB,N/A +1068,4,1,IT,N/A +1069,0,4,FR,N/A +1070,3,4,CN,N/A +1071,3,5,GB,N/A +1072,4,3,CN,N/A +1073,0,4,IT,N/A +1074,5,3,GB,N/A +1075,0,4,JP,N/A +1076,2,5,JP,N/A +1077,0,3,CN,N/A +1078,4,3,GB,N/A +1079,4,5,US,N/A +1080,4,2,JP,N/A +1081,5,2,CN,N/A +1082,4,1,JP,N/A +1083,0,4,GB,N/A +1084,1,4,DE,N/A +1085,4,4,FR,N/A +1086,2,5,JP,N/A +1087,0,1,IT,N/A +1088,0,2,FR,N/A +1089,3,2,DE,N/A +1090,5,2,IT,N/A +1091,0,3,GB,N/A +1092,1,4,DE,N/A +1093,2,1,IT,N/A +1094,4,3,JP,N/A +1095,1,1,DE,N/A +1096,0,5,JP,N/A +1097,3,3,CN,N/A +1098,5,3,JP,N/A +1099,3,1,GB,N/A +1100,5,1,CN,N/A +1101,2,3,JP,N/A +1102,5,1,IT,N/A +1103,5,2,GB,N/A +1104,3,5,GB,N/A +1105,3,1,DE,N/A +1106,3,5,GB,N/A +1107,5,3,DE,N/A +1108,4,1,CN,N/A +1109,4,3,GB,N/A +1110,4,1,FR,N/A +1111,3,5,FR,N/A +1112,1,1,GB,N/A +1113,5,4,FR,N/A +1114,2,2,DE,N/A +1115,4,3,GB,N/A +1116,0,3,FR,N/A +1117,1,4,CN,N/A +1118,4,4,IT,N/A +1119,0,2,CN,N/A +1120,5,2,DE,N/A +1121,0,2,GB,N/A +1122,4,3,CN,N/A +1123,1,4,FR,N/A +1124,0,2,CN,N/A +1125,4,5,US,N/A +1126,0,4,GB,N/A +1127,4,3,CN,N/A +1128,4,3,GB,N/A +1129,1,4,JP,N/A +1130,2,2,JP,N/A +1131,0,3,IT,N/A +1132,4,1,GB,N/A +1133,1,5,US,N/A +1134,3,3,DE,N/A +1135,3,2,IT,N/A +1136,2,2,JP,N/A +1137,0,3,CN,N/A +1138,3,1,FR,N/A +1139,2,3,FR,N/A +1140,3,1,IT,N/A +1141,0,3,US,N/A +1142,3,4,FR,N/A +1143,4,5,DE,N/A +1144,3,3,JP,N/A +1145,5,5,DE,N/A +1146,2,5,FR,N/A +1147,0,5,IT,N/A +1148,2,5,US,N/A +1149,0,3,CN,N/A +1150,2,2,GB,N/A +1151,5,5,CN,N/A +1152,2,2,IT,N/A +1153,3,2,FR,N/A +1154,5,4,FR,N/A +1155,3,5,FR,N/A +1156,5,2,GB,N/A +1157,1,2,IT,N/A +1158,3,3,JP,N/A +1159,5,1,IT,N/A +1160,3,4,CN,N/A +1161,2,5,IT,N/A +1162,4,5,CN,N/A +1163,3,5,FR,N/A +1164,1,2,FR,N/A +1165,0,3,GB,N/A +1166,5,4,CN,N/A +1167,4,5,IT,N/A +1168,3,2,IT,N/A +1169,3,2,DE,N/A +1170,2,2,DE,N/A +1171,3,1,IT,N/A +1172,3,1,IT,N/A +1173,3,5,CN,N/A +1174,5,2,US,N/A +1175,2,3,FR,N/A +1176,5,5,JP,N/A +1177,1,4,DE,N/A +1178,4,5,GB,N/A +1179,5,3,FR,N/A +1180,2,3,GB,N/A +1181,0,3,IT,N/A +1182,3,2,JP,N/A +1183,5,5,IT,N/A +1184,4,1,IT,N/A +1185,3,2,IT,N/A +1186,3,2,CN,N/A +1187,2,5,IT,N/A +1188,3,2,JP,N/A +1189,4,4,IT,N/A +1190,4,3,GB,N/A +1191,3,4,JP,N/A +1192,2,2,FR,N/A +1193,5,1,FR,N/A +1194,5,2,US,N/A +1195,2,5,FR,N/A +1196,1,2,FR,N/A +1197,5,3,FR,N/A +1198,1,4,GB,N/A +1199,1,3,FR,N/A +1200,4,5,IT,N/A +1201,3,1,GB,N/A +1202,0,3,GB,N/A +1203,4,3,DE,N/A +1204,4,2,GB,N/A +1205,4,2,DE,N/A +1206,5,2,GB,N/A +1207,1,5,DE,N/A +1208,4,5,GB,N/A +1209,0,3,FR,N/A +1210,1,5,FR,N/A +1211,3,2,DE,N/A +1212,5,1,JP,N/A +1213,0,4,CN,N/A +1214,3,1,JP,N/A +1215,5,1,CN,N/A +1216,4,2,FR,N/A
[7/9] kylin git commit: KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance'
http://git-wip-us.apache.org/repos/asf/kylin/blob/4271f108/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv -- diff --git a/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv b/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv index d8158ec..7349b37 100644 --- a/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv +++ b/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv @@ -1,1 +1,1 @@ -0,2012-12-14,Others,88750,0,11,36.2828,0,1349,US,JP,ANALYST,Beijing -1,2012-08-28,Others,175750,0,13,23.8563,0,1927,JP,JP,ANALYST,Beijing -2,2012-02-16,ABIN,148324,15,13,88.3418,0,1005,DE,FR,ADMIN,Shanghai -3,2013-10-19,FP-non GTC,37831,0,13,47.3015,0,1209,UK,UK,ANALYST,Beijing -4,2012-10-22,Others,140746,100,11,83.454,0,1154,JP,CN,ADMIN,Shanghai -5,2013-01-25,FP-GTC,16509,0,-99,22.9896,0,1372,DE,UK,ADMIN,Shanghai -6,2013-04-04,Others,963,0,13,88.5907,0,1648,US,JP,MODELER,Hongkong -7,2012-04-11,Others,15687,0,15,88.194,0,1866,US,UK,ADMIN,Shanghai -8,2013-01-19,ABIN,60606,3,13,77.9727,0,1936,FR,CN,MODELER,Hongkong -9,2012-04-30,FP-non GTC,106246,0,14,52.295,0,1047,CN,FR,MODELER,Hongkong -10,2013-02-03,Auction,45333,0,16,56.3584,0,1470,UK,JP,MODELER,Hongkong -11,2012-09-02,FP-GTC,25147,0,-99,15.3553,0,1203,US,UK,ANALYST,Beijing -12,2013-07-30,Others,24760,0,16,25.077,0,1382,CN,JP,ADMIN,Shanghai -13,2012-04-17,Auction,31519,0,16,72.7384,0,1069,CN,JP,ADMIN,Shanghai -14,2013-04-30,FP-GTC,51582,0,15,75.82,0,1085,CN,DE,ANALYST,Beijing -15,2013-03-23,FP-GTC,16509,0,15,8.6653,0,1559,US,FR,MODELER,Hongkong -16,2013-04-01,ABIN,175750,3,16,64.2802,0,1507,JP,CN,MODELER,Hongkong -17,2013-07-12,ABIN,50677,0,-99,24.5987,0,1938,UK,FR,ADMIN,Shanghai -18,2012-04-23,FP-GTC,45333,0,5,72.6553,0,1863,CN,CN,MODELER,Hongkong -19,2012-12-19,ABIN,3838,0,12,87.4142,0,1612,DE,JP,ADMIN,Shanghai -20,2012-08-15,FP-GTC,62179,0,16,67.4238,0,1839,JP,US,MODELER,Hongkong -21,2013-08-22,Auction,1357,0,5,18.36,0,1303,CN,JP,ANALYST,Beijing -22,2013-08-23,ABIN,31519,0,5,67.6344,0,1877,FR,JP,ANALYST,Beijing -23,2013-09-12,FP-GTC,223,0,14,71.7898,0,1848,US,CN,MODELER,Hongkong -24,2012-03-14,FP-GTC,132939,0,15,26.1496,0,1815,JP,DE,MODELER,Hongkong -25,2013-07-13,Others,67703,3,16,83.9661,0,1858,CN,CN,MODELER,Hongkong -26,2013-12-15,FP-non GTC,100847,0,5,34.3451,0,1387,CN,CN,ADMIN,Shanghai -27,2012-08-30,Auction,62179,0,11,21.0496,0,1393,JP,FR,ANALYST,Beijing -28,2013-01-10,FP-GTC,48027,0,13,23.4142,0,1757,FR,FR,MODELER,Hongkong -29,2013-01-25,ABIN,145970,0,5,26.7842,0,1402,DE,CN,ANALYST,Beijing -30,2012-07-05,Auction,48027,0,-99,46.732,0,1972,DE,UK,MODELER,Hongkong -31,2012-11-07,FP-GTC,20213,0,-99,19.727,0,1873,UK,CN,ANALYST,Beijing -32,2013-06-20,ABIN,100847,0,5,76.2783,0,1409,CN,DE,ADMIN,Shanghai -33,2012-10-08,ABIN,26262,0,5,48.7447,0,1029,CN,FR,ADMIN,Shanghai -34,2013-04-30,ABIN,87118,0,15,63.2187,0,1529,FR,DE,ANALYST,Beijing -35,2013-04-24,FP-non GTC,20213,0,16,39.5057,0,1329,JP,FR,ANALYST,Beijing -36,2012-05-13,Others,164261,0,13,84.1246,0,1688,CN,GB,ADMIN,Shanghai -37,2013-08-02,ABIN,31519,0,5,37.1504,0,1905,FR,DE,MODELER,Hongkong -38,2012-04-03,Auction,164261,0,11,92.0974,0,1341,CN,UK,ADMIN,Shanghai -39,2012-09-02,FP-GTC,31519,0,14,87.7829,0,1460,DE,UK,ANALYST,Beijing -40,2013-10-05,ABIN,13987,0,16,74.0719,0,1381,CN,UK,MODELER,Hongkong -41,2012-01-13,FP-GTC,48027,0,15,71.2637,0,1915,UK,CN,ADMIN,Shanghai -42,2013-03-01,Others,13836,0,14,16.7288,0,1953,CN,UK,ADMIN,Shanghai -43,2012-09-12,FP-non GTC,16509,0,5,12.2933,0,1277,FR,CN,MODELER,Hongkong -44,2012-02-07,Auction,45333,0,5,64.977,0,1040,FR,JP,MODELER,Hongkong -45,2013-12-14,FP-non GTC,158798,0,16,72.4413,0,1500,DE,CN,MODELER,Hongkong -46,2013-10-13,Auction,31519,0,5,79.3053,0,1816,CN,JP,MODELER,Hongkong -47,2012-06-11,ABIN,4943,0,5,11.6942,0,1696,US,UK,ANALYST,Beijing -48,2012-10-18,ABIN,80053,0,-99,54.0933,0,1604,FR,JP,MODELER,Hongkong -49,2012-11-03,Auction,20886,0,5,9.8258,0,1764,US,CN,MODELER,Hongkong -50,2012-01-15,Auction,44079,0,14,13.0371,0,1343,CN,US,MODELER,Hongkong -51,2012-07-03,FP-GTC,159184,0,-99,92.5314,0,1724,CN,GB,ADMIN,Shanghai -52,2012-02-16,FP-GTC,314,0,13,49.1825,0,1334,JP,CN,ADMIN,Shanghai -53,2012-06-17,FP-non GTC,31387,3,12,0.6677,0,1603,JP,JP,ANALYST,Beijing -54,2012-07-15,FP-non GTC,32876,0,-99,50.9634,0,1248,CN,UK,ANALYST,Beijing -55,2012-07-24,FP-GTC,150265,15,16,57.5645,0,1653,CN,CN,ADMIN,Shanghai -56,2012-10-06,Auction,145970,0,5,44.3091,0,1082,JP,DE,ADMIN,Shanghai -57,2013-06-14,ABIN,80053,0,5,20.2388,0,1632,JP,UK,MODELER,Hongkong -58,2013-10-10,FP-non GTC,15868,0,11,28.629,0,1523,US,FR,MODELER,Hongkong -59,2012-09-30,ABIN,31673,0,12,75.8658,0,1719,CN,FR,ADMIN,Shanghai -60,2012-04-02,FP-GTC,63861,0,5,25.8748,0,1311,JP,FR,ANALYST,Beijing
[3/9] kylin git commit: add JoinsTree, halfway
add JoinsTree, halfway Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/e9ccf5f7 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/e9ccf5f7 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/e9ccf5f7 Branch: refs/heads/KYLIN-1875 Commit: e9ccf5f708b51c9c282bbf7a96c974f95c711feb Parents: 4271f10 Author: Yang LiAuthored: Mon Nov 28 07:49:11 2016 +0800 Committer: Li Yang Committed: Mon Nov 28 14:22:20 2016 +0800 -- .../apache/kylin/dict/DictionaryManager.java| 2 +- .../apache/kylin/metadata/model/JoinDesc.java | 11 ++ .../apache/kylin/metadata/model/JoinsTree.java | 113 +++ .../apache/kylin/metadata/model/TblColRef.java | 4 + 4 files changed, 129 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/e9ccf5f7/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 820299c..3c64e45 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 @@ -357,7 +357,7 @@ public class DictionaryManager { if (join.isInnerJoin() == false) return false; -TableRef table = join.getForeignKeyColumns()[0].getTableRef(); +TableRef table = join.getFKSide(); join = model.getPKSideJoinMap().get(table); } return true; http://git-wip-us.apache.org/repos/asf/kylin/blob/e9ccf5f7/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java index d3c0745..6489244 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java @@ -110,6 +110,14 @@ public class JoinDesc { Preconditions.checkState(tableRef == cols[i].getTableRef()); } +public TableRef getPKSide() { +return primaryKeyColumns[0].getTableRef(); +} + +public TableRef getFKSide() { +return foreignKeyColumns[0].getTableRef(); +} + public void sortByFK() { Preconditions.checkState(primaryKey.length == foreignKey.length && primaryKey.length == primaryKeyColumns.length && foreignKey.length == foreignKeyColumns.length); boolean cont = true; @@ -174,6 +182,9 @@ public class JoinDesc { // equals() without alias public boolean matches(JoinDesc other) { +if (other == null) +return false; + if (!this.type.equalsIgnoreCase(other.getType())) return false; http://git-wip-us.apache.org/repos/asf/kylin/blob/e9ccf5f7/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java new file mode 100644 index 000..0317a3d --- /dev/null +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +package org.apache.kylin.metadata.model; + +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import com.google.common.base.Preconditions; + +public class JoinsTree { + +final private Chain root; +final private Map tableChains = new
kylin git commit: fix UT
Repository: kylin Updated Branches: refs/heads/KYLIN-1875 ee80fa23b -> 7fd1fd924 fix UT Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/7fd1fd92 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/7fd1fd92 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/7fd1fd92 Branch: refs/heads/KYLIN-1875 Commit: 7fd1fd9249f4b2e87d2499b16866d7ed7fc86c53 Parents: ee80fa2 Author: Li YangAuthored: Mon Nov 28 14:22:02 2016 +0800 Committer: Li Yang Committed: Mon Nov 28 14:22:02 2016 +0800 -- .../localmeta/cube_desc/test_kylin_snowflake_sales_cube.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/7fd1fd92/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json -- diff --git a/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json b/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json index aa0f874..ee0d68c 100644 --- a/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json +++ b/examples/test_case_data/localmeta/cube_desc/test_kylin_snowflake_sales_cube.json @@ -260,8 +260,8 @@ "partition_date_start" : 132537600, "auto_merge_time_ranges" : null, "retention_range" : 0, - "engine_type" : %default_engine_type%, - "storage_type" : %default_engine_type%, + "engine_type" : 2, + "storage_type" : 2, "override_kylin_properties" : { "kylin.cube.aggrgroup.is-mandatory-only-valid" : "true" }
kylin git commit: JoinsTree complete, simple query pass
Repository: kylin Updated Branches: refs/heads/KYLIN-1875 e9139f0c4 -> ee80fa23b JoinsTree complete, simple query pass Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ee80fa23 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ee80fa23 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ee80fa23 Branch: refs/heads/KYLIN-1875 Commit: ee80fa23b22b19ed722b6e5487ac85b5d1ee971b Parents: e9139f0 Author: Li YangAuthored: Mon Nov 28 14:04:39 2016 +0800 Committer: Li Yang Committed: Mon Nov 28 14:04:39 2016 +0800 -- .../apache/kylin/dict/DictionaryManager.java| 4 +- .../kylin/metadata/model/DataModelDesc.java | 30 +- .../apache/kylin/metadata/model/JoinsTree.java | 61 ++- .../kylin/metadata/MetadataManagerTest.java | 11 +- .../kylin/metadata/model/JoinsTreeTest.java | 74 .../test_kylin_snowflake_sales_cube.json| 268 .../test_kylin_snowflake_model_desc.json| 161 .../test_kylin_snowflake_sales_model.json | 87 .../localmeta/table/SNOWTEST.KYLIN_ACCOUNT.json | 28 ++ .../localmeta/table/SNOWTEST.KYLIN_CAL_DT.json | 408 +++ .../SNOWTEST.KYLIN_CATEGORY_GROUPINGS.json | 152 +++ .../localmeta/table/SNOWTEST.KYLIN_COUNTRY.json | 24 ++ .../localmeta/table/SNOWTEST.KYLIN_SALES.json | 56 +++ .../apache/kylin/query/relnode/OLAPContext.java | 2 + .../kylin/query/relnode/OLAPTableScan.java | 7 +- .../kylin/query/routing/ModelChooser.java | 46 +-- 16 files changed, 1175 insertions(+), 244 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/ee80fa23/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 3c64e45..6178234 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 @@ -339,7 +339,7 @@ public class DictionaryManager { // find a lookup table that the col joins as FK for (TableRef lookup : model.getLookupTables()) { -JoinDesc lookupJoin = model.getPKSideJoinMap().get(lookup); +JoinDesc lookupJoin = model.getJoinByPKSide(lookup); int find = ArrayUtils.indexOf(lookupJoin.getForeignKeyColumns(), col); if (find < 0) continue; @@ -358,7 +358,7 @@ public class DictionaryManager { return false; TableRef table = join.getFKSide(); -join = model.getPKSideJoinMap().get(table); +join = model.getJoinByPKSide(table); } return true; } http://git-wip-us.apache.org/repos/asf/kylin/blob/ee80fa23/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java index ff92def..d917571 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java @@ -97,8 +97,7 @@ public class DataModelDesc extends RootPersistentEntity { private Set allTableRefs = Sets.newLinkedHashSet(); private Map aliasMap = Maps.newHashMap(); // alias => TableRef, a table has exactly one alias private Map tableNameMap = Maps.newHashMap(); // name => TableRef, a table maybe referenced by multiple names -private Map pkSideJoinMap = Maps.newHashMap(); // table (PK side) => JoinTable -private Map fkSideJoinMap = Maps.newHashMap(); // table (FK side) => JoinDesc +private JoinsTree joinsTree; /** * Error messages during resolving json metadata @@ -151,12 +150,12 @@ public class DataModelDesc extends RootPersistentEntity { return joinTables; } -public Map getPKSideJoinMap() { -return pkSideJoinMap; +public JoinDesc getJoinByPKSide(TableRef table) { +return joinsTree.getJoinByPKSide(table); } - -public Map getFKSideJoinMap() { -return fkSideJoinMap; + +public JoinsTree getJoinsTree() { +return joinsTree; } @Deprecated @@ -282,6 +281,7 @@ public class DataModelDesc extends RootPersistentEntity {
svn commit: r1771677 [1/8] - in /kylin/site: ./ cn/docs15/ cn/docs16/ cn/docs16/install/ cn/docs16/tutorial/ cn/download/ docs15/ docs16/ docs16/gettingstarted/ docs16/howto/ docs16/install/ docs16/tu
Author: lidong Date: Mon Nov 28 03:54:52 2016 New Revision: 1771677 URL: http://svn.apache.org/viewvc?rev=1771677=rev Log: update doc for 1.6.0 release Modified: kylin/site/cn/docs15/index.html kylin/site/cn/docs16/index.html kylin/site/cn/docs16/install/index.html kylin/site/cn/docs16/install/manual_install_guide.html kylin/site/cn/docs16/tutorial/acl.html kylin/site/cn/docs16/tutorial/create_cube.html kylin/site/cn/docs16/tutorial/cube_build_job.html kylin/site/cn/docs16/tutorial/kylin_client_tool.html kylin/site/cn/docs16/tutorial/odbc.html kylin/site/cn/docs16/tutorial/powerbi.html kylin/site/cn/docs16/tutorial/tableau.html kylin/site/cn/docs16/tutorial/tableau_91.html kylin/site/cn/docs16/tutorial/web.html kylin/site/cn/download/index.html kylin/site/docs15/index.html kylin/site/docs16/gettingstarted/best_practices.html kylin/site/docs16/gettingstarted/concepts.html kylin/site/docs16/gettingstarted/events.html kylin/site/docs16/gettingstarted/faq.html kylin/site/docs16/gettingstarted/terminology.html kylin/site/docs16/howto/howto_backup_metadata.html kylin/site/docs16/howto/howto_build_cube_with_restapi.html kylin/site/docs16/howto/howto_cleanup_storage.html kylin/site/docs16/howto/howto_jdbc.html kylin/site/docs16/howto/howto_ldap_and_sso.html kylin/site/docs16/howto/howto_optimize_cubes.html kylin/site/docs16/howto/howto_update_coprocessor.html kylin/site/docs16/howto/howto_upgrade.html kylin/site/docs16/howto/howto_use_beeline.html kylin/site/docs16/howto/howto_use_restapi.html kylin/site/docs16/howto/howto_use_restapi_in_js.html kylin/site/docs16/index.html kylin/site/docs16/install/advance_settings.html kylin/site/docs16/install/hadoop_env.html kylin/site/docs16/install/index.html kylin/site/docs16/install/kylin_cluster.html kylin/site/docs16/install/kylin_docker.html kylin/site/docs16/release_notes.html kylin/site/docs16/tutorial/acl.html kylin/site/docs16/tutorial/create_cube.html kylin/site/docs16/tutorial/cube_build_job.html kylin/site/docs16/tutorial/cube_streaming.html kylin/site/docs16/tutorial/kylin_sample.html kylin/site/docs16/tutorial/odbc.html kylin/site/docs16/tutorial/powerbi.html kylin/site/docs16/tutorial/tableau.html kylin/site/docs16/tutorial/tableau_91.html kylin/site/docs16/tutorial/web.html kylin/site/download/index.html kylin/site/feed.xml kylin/site/index.html Modified: kylin/site/cn/docs15/index.html URL: http://svn.apache.org/viewvc/kylin/site/cn/docs15/index.html?rev=1771677=1771676=1771677=diff == --- kylin/site/cn/docs15/index.html (original) +++ kylin/site/cn/docs15/index.html Mon Nov 28 03:54:52 2016 @@ -1184,7 +1184,11 @@ Apache Kylinâ¢æ¯ä¸ä¸ªå¼æºçåå¸å¼åæå¼æï¼æä¾Hadoopä¹ä¸çSQLæ¥è¯¢æ¥å£åå¤ç»´åæï¼OLAPï¼è½å以æ¯æè¶ å¤§è§æ¨¡æ°æ®ï¼æåç±eBay Inc.å¼å并贡ç®è³å¼æºç¤¾åºã -æ¥çæ§çæ¬ææ¡£: v1.3 +æ¥çæ§çæ¬ææ¡£: + + + v1.3.x + å®è£ 请åèå®è£ æ档以å®è£ Apache Kylin: å®è£ å导 Modified: kylin/site/cn/docs16/index.html URL: http://svn.apache.org/viewvc/kylin/site/cn/docs16/index.html?rev=1771677=1771676=1771677=diff == --- kylin/site/cn/docs16/index.html (original) +++ kylin/site/cn/docs16/index.html Mon Nov 28 03:54:52 2016 @@ -172,1003 +172,6 @@ -å¼å§ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - æ¦è¿° - - - - - - - - - - - - -å®è£ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - æå¨å®è£ æå - - - - - - - - - - - - -æç¨ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
svn commit: r1771677 [8/8] - in /kylin/site: ./ cn/docs15/ cn/docs16/ cn/docs16/install/ cn/docs16/tutorial/ cn/download/ docs15/ docs16/ docs16/gettingstarted/ docs16/howto/ docs16/install/ docs16/tu
Modified: kylin/site/docs16/tutorial/tableau_91.html URL: http://svn.apache.org/viewvc/kylin/site/docs16/tutorial/tableau_91.html?rev=1771677=1771676=1771677=diff == --- kylin/site/docs16/tutorial/tableau_91.html (original) +++ kylin/site/docs16/tutorial/tableau_91.html Mon Nov 28 03:54:52 2016 @@ -175,1921 +175,6 @@ -Getting Started - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Apache Kylin Release Notes - - - - - - - - - - - - - - - - - - - - - - FAQ - - - - - - - - - - - - - - - - - - - - Events and Conferences - - - - - - - - - - - - - - - - Community Best Practices - - - - - - - - - - - - - - - - - - - - - - - - Terminology - - - - - - - - - - - - - - - - - - Technical Concepts - - - - - - - - - - - - -Installation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Installation Guide - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hadoop Environment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deploy in Cluster Mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Advance Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Run Kylin with Docker - - - - - - - - - - - - -Tutorial - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quick Start with Sample Cube - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kylin Cube Creation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
svn commit: r1771677 [6/8] - in /kylin/site: ./ cn/docs15/ cn/docs16/ cn/docs16/install/ cn/docs16/tutorial/ cn/download/ docs15/ docs16/ docs16/gettingstarted/ docs16/howto/ docs16/install/ docs16/tu
Modified: kylin/site/docs16/release_notes.html URL: http://svn.apache.org/viewvc/kylin/site/docs16/release_notes.html?rev=1771677=1771676=1771677=diff == --- kylin/site/docs16/release_notes.html (original) +++ kylin/site/docs16/release_notes.html Mon Nov 28 03:54:52 2016 @@ -175,1921 +175,6 @@ -Getting Started - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Apache Kylin Release Notes - - - - - - - - - - - - - - - - - - - - - - FAQ - - - - - - - - - - - - - - - - - - - - Events and Conferences - - - - - - - - - - - - - - - - Community Best Practices - - - - - - - - - - - - - - - - - - - - - - - - Terminology - - - - - - - - - - - - - - - - - - Technical Concepts - - - - - - - - - - - - -Installation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Installation Guide - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hadoop Environment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deploy in Cluster Mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Advance Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Run Kylin with Docker - - - - - - - - - - - - -Tutorial - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quick Start with Sample Cube - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kylin Cube Creation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
svn commit: r1771677 [3/8] - in /kylin/site: ./ cn/docs15/ cn/docs16/ cn/docs16/install/ cn/docs16/tutorial/ cn/download/ docs15/ docs16/ docs16/gettingstarted/ docs16/howto/ docs16/install/ docs16/tu
Modified: kylin/site/docs16/gettingstarted/terminology.html URL: http://svn.apache.org/viewvc/kylin/site/docs16/gettingstarted/terminology.html?rev=1771677=1771676=1771677=diff == --- kylin/site/docs16/gettingstarted/terminology.html (original) +++ kylin/site/docs16/gettingstarted/terminology.html Mon Nov 28 03:54:52 2016 @@ -175,1921 +175,6 @@ -Getting Started - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Apache Kylin Release Notes - - - - - - - - - - - - - - - - - - - - - - FAQ - - - - - - - - - - - - - - - - - - - - Events and Conferences - - - - - - - - - - - - - - - - Community Best Practices - - - - - - - - - - - - - - - - - - - - - - - - Terminology - - - - - - - - - - - - - - - - - - Technical Concepts - - - - - - - - - - - - -Installation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Installation Guide - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hadoop Environment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deploy in Cluster Mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Advance Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Run Kylin with Docker - - - - - - - - - - - - -Tutorial - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quick Start with Sample Cube - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kylin Cube Creation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
svn commit: r1771677 [2/8] - in /kylin/site: ./ cn/docs15/ cn/docs16/ cn/docs16/install/ cn/docs16/tutorial/ cn/download/ docs15/ docs16/ docs16/gettingstarted/ docs16/howto/ docs16/install/ docs16/tu
Modified: kylin/site/cn/docs16/tutorial/tableau_91.html URL: http://svn.apache.org/viewvc/kylin/site/cn/docs16/tutorial/tableau_91.html?rev=1771677=1771676=1771677=diff == --- kylin/site/cn/docs16/tutorial/tableau_91.html (original) +++ kylin/site/cn/docs16/tutorial/tableau_91.html Mon Nov 28 03:54:52 2016 @@ -172,1003 +172,6 @@ -å¼å§ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - æ¦è¿° - - - - - - - - - - - - -å®è£ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - æå¨å®è£ æå - - - - - - - - - - - - -æç¨ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kylin Cube 建ç«åJobçæ§æç¨ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kylin Cube æéæäºæç¨ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kylinç½é¡µçæç¨ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tableauæç¨ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tableau 9 æç¨ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 微软ExcelåPower BIæç¨ - - - - - - - - - - - - - - - - - -
svn commit: r1771677 [7/8] - in /kylin/site: ./ cn/docs15/ cn/docs16/ cn/docs16/install/ cn/docs16/tutorial/ cn/download/ docs15/ docs16/ docs16/gettingstarted/ docs16/howto/ docs16/install/ docs16/tu
Modified: kylin/site/docs16/tutorial/cube_build_job.html URL: http://svn.apache.org/viewvc/kylin/site/docs16/tutorial/cube_build_job.html?rev=1771677=1771676=1771677=diff == --- kylin/site/docs16/tutorial/cube_build_job.html (original) +++ kylin/site/docs16/tutorial/cube_build_job.html Mon Nov 28 03:54:52 2016 @@ -175,1921 +175,6 @@ -Getting Started - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Overview - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Apache Kylin Release Notes - - - - - - - - - - - - - - - - - - - - - - FAQ - - - - - - - - - - - - - - - - - - - - Events and Conferences - - - - - - - - - - - - - - - - Community Best Practices - - - - - - - - - - - - - - - - - - - - - - - - Terminology - - - - - - - - - - - - - - - - - - Technical Concepts - - - - - - - - - - - - -Installation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Installation Guide - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hadoop Environment - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deploy in Cluster Mode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Advance Settings - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Run Kylin with Docker - - - - - - - - - - - - -Tutorial - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quick Start with Sample Cube - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kylin Cube Creation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
svn commit: r1771676 - /kylin/site/download/KylinODBCDriver-1.6.zip
Author: lidong Date: Mon Nov 28 03:43:03 2016 New Revision: 1771676 URL: http://svn.apache.org/viewvc?rev=1771676=rev Log: ODBC Driver 1.6 download Added: kylin/site/download/KylinODBCDriver-1.6.zip (with props) Added: kylin/site/download/KylinODBCDriver-1.6.zip URL: http://svn.apache.org/viewvc/kylin/site/download/KylinODBCDriver-1.6.zip?rev=1771676=auto == Binary file - no diff available. Propchange: kylin/site/download/KylinODBCDriver-1.6.zip -- svn:mime-type = application/octet-stream
svn commit: r1771675 - in /kylin/site: cn/download/index.html download/index.html feed.xml
Author: lidong Date: Mon Nov 28 03:41:05 2016 New Revision: 1771675 URL: http://svn.apache.org/viewvc?rev=1771675=rev Log: Update download for ODBC Driver 1.6 Modified: kylin/site/cn/download/index.html kylin/site/download/index.html kylin/site/feed.xml Modified: kylin/site/cn/download/index.html URL: http://svn.apache.org/viewvc/kylin/site/cn/download/index.html?rev=1771675=1771674=1771675=diff == --- kylin/site/cn/download/index.html (original) +++ kylin/site/cn/download/index.html Mon Nov 28 03:41:05 2016 @@ -197,10 +197,12 @@ ODBC Driver - http://kylin.apache.org/download/KylinODBCDriver-1.5.zip;>Kylin ODBC é©±å¨ v1.5 -Kylin ODBC 驱å¨è¦æ±é¦å å®è£ http://www.microsoft.com/en-us/download/details.aspx?id=30679;>Microsoft Visual C++ 2012 Redistributable. + http://kylin.apache.org/download/KylinODBCDriver-1.6.zip;>Kylin ODBC é©±å¨ v1.6 + http://kylin.apache.org/download/KylinODBCDriver-1.5.zip;>Kylin ODBC é©±å¨ v1.5 +Kylin ODBC 驱å¨è¦æ±é¦å å®è£ http://www.microsoft.com/en-us/download/details.aspx?id=30679;>Microsoft Visual C++ 2012 Redistributable. + Modified: kylin/site/download/index.html URL: http://svn.apache.org/viewvc/kylin/site/download/index.html?rev=1771675=1771674=1771675=diff == --- kylin/site/download/index.html (original) +++ kylin/site/download/index.html Mon Nov 28 03:41:05 2016 @@ -200,10 +200,12 @@ You can verify your download by followin ODBC Driver - http://kylin.apache.org/download/KylinODBCDriver-1.5.zip;>Kylin ODBC Driver v1.5 -Please note, it requires http://www.microsoft.com/en-us/download/details.aspx?id=30679;>Microsoft Visual C++ 2012 Redistributable installed first. + http://kylin.apache.org/download/KylinODBCDriver-1.6.zip;>Kylin ODBC Driver v1.6 + http://kylin.apache.org/download/KylinODBCDriver-1.5.zip;>Kylin ODBC Driver v1.5 +Please note, it requires http://www.microsoft.com/en-us/download/details.aspx?id=30679;>Microsoft Visual C++ 2012 Redistributable installed first. + Modified: kylin/site/feed.xml URL: http://svn.apache.org/viewvc/kylin/site/feed.xml?rev=1771675=1771674=1771675=diff == --- kylin/site/feed.xml (original) +++ kylin/site/feed.xml Mon Nov 28 03:41:05 2016 @@ -19,8 +19,8 @@ Apache Kylin Home http://kylin.apache.org/ http://kylin.apache.org/feed.xml; rel="self" type="application/rss+xml"/> -Thu, 24 Nov 2016 04:33:19 -0800 -Thu, 24 Nov 2016 04:33:19 -0800 +Mon, 28 Nov 2016 03:37:26 -0800 +Mon, 28 Nov 2016 03:37:26 -0800 Jekyll v2.5.3
kylin git commit: Update download for ODBC Driver 1.6
Repository: kylin Updated Branches: refs/heads/document 7dfcc595b -> ecdd9a72d Update download for ODBC Driver 1.6 Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ecdd9a72 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ecdd9a72 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ecdd9a72 Branch: refs/heads/document Commit: ecdd9a72da845482cb9b427d8ccee27e9a16e0c2 Parents: 7dfcc59 Author: lidongsjtuAuthored: Mon Nov 28 11:35:57 2016 +0800 Committer: lidongsjtu Committed: Mon Nov 28 11:35:57 2016 +0800 -- website/download/index.cn.md | 2 ++ website/download/index.md| 2 ++ 2 files changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/ecdd9a72/website/download/index.cn.md -- diff --git a/website/download/index.cn.md b/website/download/index.cn.md index 2181974..19eb2e2 100644 --- a/website/download/index.cn.md +++ b/website/download/index.cn.md @@ -29,5 +29,7 @@ title: ä¸è½½ Apache Kylinçæ§çæ¬å¯ä»¥ä»[https://archive.apache.org/dist/kylin/](https://archive.apache.org/dist/kylin/)ä¸è½½. ## ODBC Driver +* [Kylin ODBC é©±å¨ v1.6](http://kylin.apache.org/download/KylinODBCDriver-1.6.zip) * [Kylin ODBC é©±å¨ v1.5](http://kylin.apache.org/download/KylinODBCDriver-1.5.zip) + Kylin ODBC 驱å¨è¦æ±é¦å å®è£ [Microsoft Visual C++ 2012 Redistributable](http://www.microsoft.com/en-us/download/details.aspx?id=30679). http://git-wip-us.apache.org/repos/asf/kylin/blob/ecdd9a72/website/download/index.md -- diff --git a/website/download/index.md b/website/download/index.md index fef0fd5..b75e3de 100644 --- a/website/download/index.md +++ b/website/download/index.md @@ -30,6 +30,8 @@ You can verify your download by following these [procedures](https://www.apache. Older releases can be found in [https://archive.apache.org/dist/kylin/](https://archive.apache.org/dist/kylin/). ## ODBC Driver +* [Kylin ODBC Driver v1.6](http://kylin.apache.org/download/KylinODBCDriver-1.6.zip) * [Kylin ODBC Driver v1.5](http://kylin.apache.org/download/KylinODBCDriver-1.5.zip) + Please note, it requires [Microsoft Visual C++ 2012 Redistributable](http://www.microsoft.com/en-us/download/details.aspx?id=30679) installed first.
kylin git commit: minor, update 1.6 doc links in README.md
Repository: kylin Updated Branches: refs/heads/master 99f1dd9d2 -> 3f10b3a53 minor, update 1.6 doc links in README.md Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/3f10b3a5 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/3f10b3a5 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/3f10b3a5 Branch: refs/heads/master Commit: 3f10b3a534166f43118caf0564ad521a9fb2632f Parents: 99f1dd9 Author: lidongsjtuAuthored: Mon Nov 28 09:02:28 2016 +0800 Committer: lidongsjtu Committed: Mon Nov 28 09:02:36 2016 +0800 -- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/3f10b3a5/README.md -- diff --git a/README.md b/README.md index e72bd56..06e5ba4 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ For more details, see the website [http://kylin.apache.org](http://kylin.apache. Documentation = -Please refer to [http://kylin.apache.org/docs15/](http://kylin.apache.org/docs15/). +Please refer to [http://kylin.apache.org/docs16/](http://kylin.apache.org/docs16/). Get Help
kylin git commit: KYLIN-1793 Fix exit code issue in beeline mode
Repository: kylin Updated Branches: refs/heads/master 5edffa51d -> 99f1dd9d2 KYLIN-1793 Fix exit code issue in beeline mode Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/99f1dd9d Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/99f1dd9d Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/99f1dd9d Branch: refs/heads/master Commit: 99f1dd9d2460566748db2167e69a6a8a7689271d Parents: 5edffa5 Author: lidongsjtuAuthored: Mon Nov 28 08:35:05 2016 +0800 Committer: lidongsjtu Committed: Mon Nov 28 08:46:35 2016 +0800 -- .../java/org/apache/kylin/job/DeployUtil.java | 2 +- .../kylin/common/util/HiveCmdBuilder.java | 114 +++ .../kylin/common/util/HiveCmdBuilderTest.java | 80 + .../source/hive/CreateFlatHiveTableStep.java| 1 + .../kylin/source/hive/HiveCmdBuilder.java | 113 -- .../apache/kylin/source/hive/HiveMRInput.java | 1 + .../kylin/source/hive/HiveCmdBuilderTest.java | 83 -- .../storage/hbase/steps/DeprecatedGCStep.java | 2 +- .../storage/hbase/util/HiveCmdBuilder.java | 110 -- .../storage/hbase/util/StorageCleanupJob.java | 3 +- .../apache/kylin/tool/StorageCleanupJob.java| 2 +- 11 files changed, 201 insertions(+), 310 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/99f1dd9d/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java -- diff --git a/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java b/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java index 79a3b3b..23b3670 100644 --- a/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java +++ b/assembly/src/test/java/org/apache/kylin/job/DeployUtil.java @@ -46,7 +46,7 @@ import org.apache.kylin.metadata.model.TableDesc; import org.apache.kylin.metadata.model.TableRef; import org.apache.kylin.metadata.model.TblColRef; import org.apache.kylin.source.hive.HiveClientFactory; -import org.apache.kylin.source.hive.HiveCmdBuilder; +import org.apache.kylin.common.util.HiveCmdBuilder; import org.apache.kylin.source.hive.IHiveClient; import org.apache.kylin.source.kafka.TimedJsonStreamParser; import org.apache.maven.model.Model; http://git-wip-us.apache.org/repos/asf/kylin/blob/99f1dd9d/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java new file mode 100644 index 000..5942ba9 --- /dev/null +++ b/core-common/src/main/java/org/apache/kylin/common/util/HiveCmdBuilder.java @@ -0,0 +1,114 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.kylin.common.util; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.nio.charset.Charset; +import java.util.ArrayList; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.IOUtils; +import org.apache.kylin.common.KylinConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.common.collect.Lists; + +public class HiveCmdBuilder { +private static final Logger logger = LoggerFactory.getLogger(HiveCmdBuilder.class); + +public enum HiveClientMode { +CLI, BEELINE +} + +private HiveClientMode clientMode; +private KylinConfig kylinConfig; +final private ArrayList statements = Lists.newArrayList(); + +public HiveCmdBuilder() { +kylinConfig = KylinConfig.getInstanceFromEnv(); +clientMode = HiveClientMode.valueOf(kylinConfig.getHiveClientMode().toUpperCase()); +} + +public String build() { +StringBuffer buf = new StringBuffer(); + +switch (clientMode) { +case CLI: +
kylin git commit: add JoinsTree, halfway
Repository: kylin Updated Branches: refs/heads/KYLIN-1875 dbbbae227 -> e9139f0c4 add JoinsTree, halfway Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/e9139f0c Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/e9139f0c Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/e9139f0c Branch: refs/heads/KYLIN-1875 Commit: e9139f0c4af71a85f67c50a9f4ba1c0454523bf0 Parents: dbbbae2 Author: Yang LiAuthored: Mon Nov 28 07:49:11 2016 +0800 Committer: Yang Li Committed: Mon Nov 28 07:49:11 2016 +0800 -- .../apache/kylin/dict/DictionaryManager.java| 2 +- .../apache/kylin/metadata/model/JoinDesc.java | 11 ++ .../apache/kylin/metadata/model/JoinsTree.java | 113 +++ .../apache/kylin/metadata/model/TblColRef.java | 4 + 4 files changed, 129 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/e9139f0c/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 820299c..3c64e45 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 @@ -357,7 +357,7 @@ public class DictionaryManager { if (join.isInnerJoin() == false) return false; -TableRef table = join.getForeignKeyColumns()[0].getTableRef(); +TableRef table = join.getFKSide(); join = model.getPKSideJoinMap().get(table); } return true; http://git-wip-us.apache.org/repos/asf/kylin/blob/e9139f0c/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java index d3c0745..6489244 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinDesc.java @@ -110,6 +110,14 @@ public class JoinDesc { Preconditions.checkState(tableRef == cols[i].getTableRef()); } +public TableRef getPKSide() { +return primaryKeyColumns[0].getTableRef(); +} + +public TableRef getFKSide() { +return foreignKeyColumns[0].getTableRef(); +} + public void sortByFK() { Preconditions.checkState(primaryKey.length == foreignKey.length && primaryKey.length == primaryKeyColumns.length && foreignKey.length == foreignKeyColumns.length); boolean cont = true; @@ -174,6 +182,9 @@ public class JoinDesc { // equals() without alias public boolean matches(JoinDesc other) { +if (other == null) +return false; + if (!this.type.equalsIgnoreCase(other.getType())) return false; http://git-wip-us.apache.org/repos/asf/kylin/blob/e9139f0c/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java new file mode 100644 index 000..0317a3d --- /dev/null +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/JoinsTree.java @@ -0,0 +1,113 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +package org.apache.kylin.metadata.model; + +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import com.google.common.base.Preconditions; + +public class JoinsTree { + +final
[25/50] [abbrv] kylin git commit: KYLIN-2195 All code changes, ready for test
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryBuilder.java -- diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryBuilder.java b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryBuilder.java index 916c369..598865b 100644 --- a/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryBuilder.java +++ b/core-dictionary/src/main/java/org/apache/kylin/dict/TrieDictionaryBuilder.java @@ -1,512 +1,512 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.dict; - -import java.io.ByteArrayOutputStream; -import java.io.DataOutputStream; -import java.io.IOException; -import java.io.PrintStream; -import java.io.UnsupportedEncodingException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.IdentityHashMap; -import java.util.LinkedList; - -import org.apache.kylin.common.util.BytesUtil; - -/** - * Builds a dictionary using Trie structure. All values are taken in byte[] form - * and organized in a Trie with ordering. Then numeric IDs are assigned in - * sequence. - * - * @author yangli9 - */ -public class TrieDictionaryBuilder { - -private static final int _2GB = 20; - -public static class Node { -public byte[] part; -public boolean isEndOfValue; -public ArrayList children; - -public int nValuesBeneath; // only present after stats() - -Node(byte[] value, boolean isEndOfValue) { -reset(value, isEndOfValue); -} - -Node(byte[] value, boolean isEndOfValue, ArrayList children) { -reset(value, isEndOfValue, children); -} - -void reset(byte[] value, boolean isEndOfValue) { -reset(value, isEndOfValue, new ArrayList()); -} - -void reset(byte[] value, boolean isEndOfValue, ArrayList children) { -this.part = value; -this.isEndOfValue = isEndOfValue; -this.children = children; -} -} - -public static interface Visitor { -void visit(Node n, int level); -} - -// - -private Node root; -private BytesConverter bytesConverter; - -public TrieDictionaryBuilder(BytesConverter bytesConverter) { -this.root = new Node(new byte[0], false); -this.bytesConverter = bytesConverter; -} - -public void addValue(T value) { -addValue(bytesConverter.convertToBytes(value)); -} - -// add a converted value (given in byte[] format), use with care, for internal only -void addValue(byte[] value) { -addValueR(root, value, 0); -} - -private void addValueR(Node node, byte[] value, int start) { -// match the value part of current node -int i = 0, j = start; -int n = node.part.length, nn = value.length; -int comp = 0; -for (; i < n && j < nn; i++, j++) { -comp = BytesUtil.compareByteUnsigned(node.part[i], value[j]); -if (comp != 0) -break; -} - -if (j == nn) { -// if value fully matched within the current node -if (i == n) { -// if equals to current node, just mark end of value -node.isEndOfValue = true; -} else { -// otherwise, split the current node into two -Node c = new Node(BytesUtil.subarray(node.part, i, n), node.isEndOfValue, node.children); -node.reset(BytesUtil.subarray(node.part, 0, i), true); -node.children.add(c); -} -return; -} - -// if partially matched the current, split the current node, add the new value, make a 3-way -if (i < n) { -Node c1 = new Node(BytesUtil.subarray(node.part, i, n), node.isEndOfValue, node.children); -Node c2 = new Node(BytesUtil.subarray(value, j, nn), true); -node.reset(BytesUtil.subarray(node.part, 0, i), false); -if (comp < 0) { -
[39/50] [abbrv] kylin git commit: minor, fix kylin-tools-log4j.properties location in pom.xml
minor, fix kylin-tools-log4j.properties location in pom.xml Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/6afcb269 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/6afcb269 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/6afcb269 Branch: refs/heads/KYLIN-1875 Commit: 6afcb2690c0d7eefd50e103e298aff80286776a4 Parents: e1d5b29 Author: Yang LiAuthored: Thu Nov 24 21:55:19 2016 +0800 Committer: Yang Li Committed: Thu Nov 24 21:55:19 2016 +0800 -- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/6afcb269/pom.xml -- diff --git a/pom.xml b/pom.xml index 9628c0d..0501d0f 100644 --- a/pom.xml +++ b/pom.xml @@ -1097,7 +1097,7 @@ log4j.configuration - file:${project.basedir}/build/conf/kylin-tools-log4j.properties + file:${pom.parent.basedir}/build/conf/kylin-tools-log4j.properties -javaagent:${project.build.testOutputDirectory}/jamm.jar ${argLine}
[20/50] [abbrv] kylin git commit: KYLIN-2224 fix this issue
KYLIN-2224 fix this issue Signed-off-by: Hongbin MaProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1ec1ffcc Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1ec1ffcc Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1ec1ffcc Branch: refs/heads/KYLIN-1875 Commit: 1ec1ffccd787036cbc89d0a549adcbb0469cb1ec Parents: 53b5a27 Author: Cheng Wang Authored: Wed Nov 23 11:19:04 2016 +0800 Committer: Hongbin Ma Committed: Wed Nov 23 11:46:35 2016 +0800 -- .../main/java/org/apache/kylin/cube/RawQueryLastHacker.java | 5 +++-- .../kylin/storage/gtrecord/GTCubeStorageQueryBase.java | 2 +- .../apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java | 8 3 files changed, 8 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/1ec1ffcc/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java b/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java index 50c644e..b0a4823 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/RawQueryLastHacker.java @@ -24,6 +24,7 @@ import org.apache.kylin.metadata.model.MeasureDesc; import org.apache.kylin.metadata.model.ParameterDesc; import org.apache.kylin.metadata.model.TblColRef; import org.apache.kylin.metadata.realization.SQLDigest; +import org.apache.kylin.metadata.tuple.TupleInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,7 +32,7 @@ public class RawQueryLastHacker { private static final Logger logger = LoggerFactory.getLogger(RawQueryLastHacker.class); -public static void hackNoAggregations(SQLDigest sqlDigest, CubeDesc cubeDesc) { +public static void hackNoAggregations(SQLDigest sqlDigest, CubeDesc cubeDesc, TupleInfo tupleInfo) { if (!sqlDigest.isRawQuery) { return; } @@ -45,7 +46,7 @@ public class RawQueryLastHacker { boolean isSelectAll = sqlDigest.allColumns.isEmpty() || sqlDigest.allColumns.equals(sqlDigest.filterColumns); for (TblColRef col : cubeDesc.listAllColumns()) { if (cubeDesc.listDimensionColumnsIncludingDerived().contains(col) || isSelectAll) { -if (col.getTable().equals(sqlDigest.factTable)) +if (tupleInfo.hasColumn(col)) sqlDigest.allColumns.add(col); } } http://git-wip-us.apache.org/repos/asf/kylin/blob/1ec1ffcc/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java -- diff --git a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java index 24dd2fb..9c74cca 100644 --- a/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java +++ b/core-storage/src/main/java/org/apache/kylin/storage/gtrecord/GTCubeStorageQueryBase.java @@ -77,7 +77,7 @@ public abstract class GTCubeStorageQueryBase implements IStorageQuery { sqlDigest.includeSubqueryJoinParticipants(); //cope with queries with no aggregations -RawQueryLastHacker.hackNoAggregations(sqlDigest, cubeDesc); +RawQueryLastHacker.hackNoAggregations(sqlDigest, cubeDesc, returnTupleInfo); // Customized measure taking effect: e.g. allow custom measures to help raw queries notifyBeforeStorageQuery(sqlDigest); http://git-wip-us.apache.org/repos/asf/kylin/blob/1ec1ffcc/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java -- diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java index 3c73dc6..9af0faf 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeStorageQuery.java @@ -46,10 +46,10 @@ import org.apache.kylin.cube.RawQueryLastHacker; import org.apache.kylin.cube.cuboid.Cuboid; import org.apache.kylin.cube.kv.RowConstants; import org.apache.kylin.cube.model.CubeDesc; +import org.apache.kylin.cube.model.CubeDesc.DeriveInfo; import org.apache.kylin.cube.model.HBaseColumnDesc; import org.apache.kylin.cube.model.HBaseMappingDesc; import
[15/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files. Signed-off-by: Li YangProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/2b7fe610 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/2b7fe610 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/2b7fe610 Branch: refs/heads/KYLIN-1875 Commit: 2b7fe6106d5363d9993dfd7b7f27c49319ed7d44 Parents: 79cb59c Author: xiefan46 <958034...@qq.com> Authored: Thu Nov 17 14:21:38 2016 +0800 Committer: Li Yang Committed: Tue Nov 22 18:39:35 2016 +0800 -- .../kylin/cube/AggregationGroupRuleTest.java|2 +- .../validation/rule/DictionaryRuleTest.java |1 + .../apache/kylin/dict/DictionaryGenerator.java |4 +- .../apache/kylin/dict/DictionaryManager.java|3 + .../dict/NumberDictionaryForestBuilder.java |5 + .../dict/TableColumnValueSortedEnumerator.java | 154 ++ .../kylin/dict/TrieDictionaryForestBuilder.java |2 +- .../apache/kylin/dict/lookup/SnapshotTable.java |2 - .../kylin/dict/TrieDictionaryForestTest.java|8 +- .../org/apache/kylin/source/ReadableTable.java | 17 +- .../apache/kylin/engine/mr/DFSFileTable.java| 36 + .../engine/mr/DFSSingleFileTableReader.java | 218 ++ .../kylin/engine/mr/JobBuilderSupport.java |4 +- .../apache/kylin/engine/mr/SortedColumn.java| 100 + .../kylin/engine/mr/SortedColumnReader.java | 136 ++ .../engine/mr/steps/CreateDictionaryJob.java|5 +- .../mr/steps/FactDistinctColumnPartitioner.java |5 +- .../mr/steps/FactDistinctColumnsCombiner.java |4 +- .../engine/mr/steps/FactDistinctColumnsJob.java |2 +- .../mr/steps/FactDistinctColumnsMapperBase.java |3 +- .../mr/steps/FactDistinctColumnsReducer.java|6 +- .../mr/steps/FactDistinctHiveColumnsMapper.java | 22 +- .../engine/mr/steps/SelfDefineSortableKey.java | 128 ++ .../apache/kylin/engine/mr/steps/TypeFlag.java | 28 + .../mr/steps/UpdateCubeInfoAfterBuildStep.java |5 +- .../fdc2/FactDistinctColumnPartitioner2.java| 47 - .../fdc2/FactDistinctColumnsCombiner2.java | 45 - .../mr/steps/fdc2/FactDistinctColumnsJob2.java | 148 -- .../fdc2/FactDistinctColumnsMapperBase2.java| 103 - .../steps/fdc2/FactDistinctColumnsReducer2.java | 254 --- .../fdc2/FactDistinctHiveColumnsMapper2.java| 232 -- .../mr/steps/fdc2/SelfDefineSortableKey.java| 131 -- .../kylin/engine/mr/steps/fdc2/TypeFlag.java| 28 - .../kylin/engine/mr/SortedColumnReaderTest.java | 312 +++ .../mr/steps/NumberDictionaryForestTest.java| 17 +- .../mr/steps/SelfDefineSortableKeyTest.java |2 - .../src/test/resources/multi_file_double/data_0 | 2006 + .../src/test/resources/multi_file_double/data_1 | 2093 ++ .../src/test/resources/multi_file_double/data_2 | 2006 + .../src/test/resources/multi_file_double/data_3 | 1947 .../src/test/resources/multi_file_double/data_4 | 1948 .../resources/multi_file_empty_file/empty.txt |0 .../multi_file_empty_file/has_value.txt |2 + .../src/test/resources/multi_file_int/data_0| 1987 + .../src/test/resources/multi_file_int/data_1| 1989 + .../src/test/resources/multi_file_int/data_2| 1998 + .../src/test/resources/multi_file_int/data_3| 1996 + .../src/test/resources/multi_file_int/data_4| 2030 + .../src/test/resources/multi_file_str/data_0| 2029 + .../src/test/resources/multi_file_str/data_1| 1990 + .../src/test/resources/multi_file_str/data_2| 1992 + .../src/test/resources/multi_file_str/data_3| 1948 .../src/test/resources/multi_file_str/data_4| 2041 + .../org/apache/kylin/source/hive/HiveTable.java |3 + 54 files changed, 31200 insertions(+), 1024 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java -- diff --git a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java b/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java index 1c43093..1950b02 100644 --- a/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java +++ b/core-cube/src/test/java/org/apache/kylin/cube/AggregationGroupRuleTest.java @@ -38,7 +38,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -public class AggregationGroupRuleTest extends LocalFileMetadataTestCase{ +public
[34/50] [abbrv] kylin git commit: KYLIN-227
KYLIN-227 Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/798f03ed Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/798f03ed Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/798f03ed Branch: refs/heads/KYLIN-1875 Commit: 798f03ed2eaaddaee5930ff074a022655fec51ff Parents: 53b5a6d Author: shaofengshiAuthored: Fri Nov 11 16:11:55 2016 +0800 Committer: shaofengshi Committed: Thu Nov 24 09:11:33 2016 +0800 -- .../kylin/job/constant/JobStatusEnum.java | 2 +- .../kylin/job/constant/JobStepStatusEnum.java | 2 +- .../kylin/job/execution/AbstractExecutable.java | 5 +++ .../job/execution/DefaultChainedExecutable.java | 6 .../kylin/job/execution/ExecutableManager.java | 11 +- .../kylin/job/execution/ExecutableState.java| 7 .../job/impl/threadpool/DefaultScheduler.java | 6 ++-- .../apache/kylin/job/ExecutableManagerTest.java | 2 +- .../kylin/rest/controller/JobController.java| 22 .../apache/kylin/rest/service/CubeService.java | 2 +- .../apache/kylin/rest/service/JobService.java | 15 webapp/app/js/controllers/job.js| 38 +++- webapp/app/js/model/jobConfig.js| 1 + webapp/app/js/services/jobs.js | 3 +- webapp/app/partials/jobs/jobList.html | 10 +- 15 files changed, 122 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/798f03ed/core-job/src/main/java/org/apache/kylin/job/constant/JobStatusEnum.java -- diff --git a/core-job/src/main/java/org/apache/kylin/job/constant/JobStatusEnum.java b/core-job/src/main/java/org/apache/kylin/job/constant/JobStatusEnum.java index a4ef564..4c6ac97 100644 --- a/core-job/src/main/java/org/apache/kylin/job/constant/JobStatusEnum.java +++ b/core-job/src/main/java/org/apache/kylin/job/constant/JobStatusEnum.java @@ -20,7 +20,7 @@ package org.apache.kylin.job.constant; public enum JobStatusEnum { -NEW(0), PENDING(1), RUNNING(2), FINISHED(4), ERROR(8), DISCARDED(16); +NEW(0), PENDING(1), RUNNING(2), FINISHED(4), ERROR(8), DISCARDED(16), STOPPED(32); private final int code; http://git-wip-us.apache.org/repos/asf/kylin/blob/798f03ed/core-job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java -- diff --git a/core-job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java b/core-job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java index 08ee79a..08cd138 100644 --- a/core-job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java +++ b/core-job/src/main/java/org/apache/kylin/job/constant/JobStepStatusEnum.java @@ -19,7 +19,7 @@ package org.apache.kylin.job.constant; public enum JobStepStatusEnum { -NEW(0), PENDING(1), RUNNING(2), FINISHED(4), ERROR(8), DISCARDED(16), WAITING(32), KILLED(64); +NEW(0), PENDING(1), RUNNING(2), FINISHED(4), ERROR(8), DISCARDED(16), WAITING(32), KILLED(64), STOPPED(128); private final int code; http://git-wip-us.apache.org/repos/asf/kylin/blob/798f03ed/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java -- diff --git a/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java b/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java index 80a92de..551241b 100644 --- a/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java +++ b/core-job/src/main/java/org/apache/kylin/job/execution/AbstractExecutable.java @@ -380,6 +380,11 @@ public abstract class AbstractExecutable implements Executable, Idempotent { return status == ExecutableState.DISCARDED; } +protected final boolean isPaused() { +final ExecutableState status = getOutput().getState(); +return status == ExecutableState.STOPPED; +} + protected boolean needRetry() { return this.retry <= config.getJobRetry(); } http://git-wip-us.apache.org/repos/asf/kylin/blob/798f03ed/core-job/src/main/java/org/apache/kylin/job/execution/DefaultChainedExecutable.java -- diff --git a/core-job/src/main/java/org/apache/kylin/job/execution/DefaultChainedExecutable.java b/core-job/src/main/java/org/apache/kylin/job/execution/DefaultChainedExecutable.java index fccab30..253072e 100644 --- a/core-job/src/main/java/org/apache/kylin/job/execution/DefaultChainedExecutable.java +++
[41/50] [abbrv] kylin git commit: KYLIN-2195 re-format KylinConfigBase
KYLIN-2195 re-format KylinConfigBase Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/89875fae Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/89875fae Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/89875fae Branch: refs/heads/KYLIN-1875 Commit: 89875fae78556d4d5f5099accb70d6572faeb3d4 Parents: 8530ebd Author: Li YangAuthored: Fri Nov 25 14:49:58 2016 +0800 Committer: Li Yang Committed: Fri Nov 25 14:49:58 2016 +0800 -- .../apache/kylin/common/KylinConfigBase.java| 778 ++- 1 file changed, 411 insertions(+), 367 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/89875fae/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index 6131013..8ea03be 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -142,16 +142,47 @@ abstract public class KylinConfigBase implements Serializable { this.properties = BCC.check(properties); } +private Map convertKeyToInteger(Map map) { +Map result = Maps.newLinkedHashMap(); +for (Entry entry : map.entrySet()) { +result.put(Integer.valueOf(entry.getKey()), entry.getValue()); +} +return result; +} + +public String toString() { +return getMetadataUrl(); +} + +// +// ENV // public boolean isDevEnv() { return "DEV".equals(getOptional("kylin.env", "DEV")); } + +public String getDeployEnv() { +return getOptional("kylin.env", "DEV"); +} + +public String getHdfsWorkingDirectory() { +String root = getRequired("kylin.env.hdfs-working-dir"); +if (!root.endsWith("/")) { +root += "/"; +} +return new StringBuffer(root).append(StringUtils.replaceChars(getMetadataUrlPrefix(), ':', '-')).append("/").toString(); +} + +// +// METADATA +// public String getMetadataUrl() { return getOptional("kylin.metadata.url"); } +// for test only public void setMetadataUrl(String metadataUrl) { setProperty("kylin.metadata.url", metadataUrl); } @@ -169,178 +200,120 @@ abstract public class KylinConfigBase implements Serializable { } } -public String getServerMode() { -return this.getOptional("kylin.server.mode", "all"); -} - -public String getStorageUrl() { -return getOptional("kylin.storage.url"); -} - -public void setStorageUrl(String storageUrl) { -setProperty("kylin.storage.url", storageUrl); +public String[] getRealizationProviders() { +return getOptionalStringArray("kylin.metadata.realization-providers", // +new String[] { "org.apache.kylin.cube.CubeManager", "org.apache.kylin.storage.hybrid.HybridManager" }); } -/** - * was for route to hive, not used any more - */ -@Deprecated -public String getHiveUrl() { -return getOptional("kylin.source.hive.connection-url", ""); +public String[] getCubeDimensionCustomEncodingFactories() { +return getOptionalStringArray("kylin.metadata.custom-dimension-encodings", new String[0]); } -/** - * was for route to hive, not used any more - */ -@Deprecated -public String getHiveUser() { -return getOptional("kylin.source.hive.connection-user", ""); +public Map getCubeCustomMeasureTypes() { +return getPropertiesByPrefix("kylin.metadata.custom-measure-types."); } + +// +// DICTIONARY & SNAPSHOT +// -/** - * was for route to hive, not used any more - */ -@Deprecated -public String getHivePassword() { -return getOptional("kylin.source.hive.connection-password", ""); +public int getTrieDictionaryForestMaxTrieSizeMB() { +return Integer.parseInt(getOptional("kylin.dictionary.forest-trie-max-mb",
[44/50] [abbrv] kylin git commit: KYLIN-2220 Enforce same name between Cube & CubeDesc
KYLIN-2220 Enforce same name between Cube & CubeDesc Signed-off-by: Li YangProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/25f0819f Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/25f0819f Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/25f0819f Branch: refs/heads/KYLIN-1875 Commit: 25f0819fab211749ac81dff4bbd4812e2be637ed Parents: ddc003c Author: kangkaisen Authored: Tue Nov 22 21:26:32 2016 +0800 Committer: Yang Li Committed: Sat Nov 26 13:02:16 2016 +0800 -- .../java/org/apache/kylin/cube/CubeManager.java | 19 +-- .../kylin/rest/controller/CubeController.java| 2 +- .../apache/kylin/rest/service/CubeService.java | 8 3 files changed, 2 insertions(+), 27 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/25f0819f/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java index 9893040..307bb46 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java @@ -617,24 +617,6 @@ public class CubeManager implements IRealizationProvider { } } -private long calculateStartOffsetForAppendSegment(CubeInstance cube) { -List existing = cube.getSegments(); -if (existing.isEmpty()) { -return 0; -} else { -return existing.get(existing.size() - 1).getSourceOffsetEnd(); -} -} - -private long calculateStartDateForAppendSegment(CubeInstance cube) { -List existing = cube.getSegments(); -if (existing.isEmpty()) { -return cube.getDescriptor().getPartitionDateStart(); -} else { -return existing.get(existing.size() - 1).getDateRangeEnd(); -} -} - private void checkBuildingSegment(CubeInstance cube) { int maxBuldingSeg = cube.getConfig().getMaxBuildingSegments(); if (cube.getBuildingSegments().size() >= maxBuldingSeg) { @@ -923,6 +905,7 @@ public class CubeManager implements IRealizationProvider { CubeDesc cubeDesc = CubeDescManager.getInstance(config).getCubeDesc(cube.getDescName()); checkNotNull(cubeDesc, "cube descriptor '%s' (for cube '%s') not found", cube.getDescName(), cubeName); +checkState(cubeDesc.getName().equals(cubeName), "cube name '%s' must be same as descriptor name '%s', but it is not", cubeName, cubeDesc.getName()); if (!cubeDesc.getError().isEmpty()) { cube.setStatus(RealizationStatusEnum.DESCBROKEN); http://git-wip-us.apache.org/repos/asf/kylin/blob/25f0819f/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java -- diff --git a/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java b/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java index e1aa17a..3846d28 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java +++ b/server-base/src/main/java/org/apache/kylin/rest/controller/CubeController.java @@ -416,7 +416,7 @@ public class CubeController extends BasicController { cubeRequest.setMessage("CubeDesc is null."); return cubeRequest; } -String name = CubeService.getCubeNameFromDesc(desc.getName()); +String name = desc.getName(); if (StringUtils.isEmpty(name)) { logger.info("Cube name should not be empty."); throw new BadRequestException("Cube name should not be empty."); http://git-wip-us.apache.org/repos/asf/kylin/blob/25f0819f/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java -- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java index 5c59e1a..85c9284 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/CubeService.java @@ -278,14 +278,6 @@ public class CubeService extends BasicService { accessService.clean(cube, true); } -public static String getCubeNameFromDesc(String descName) { -if (descName.toLowerCase().endsWith(DESC_SUFFIX)) { -return descName.substring(0, descName.toLowerCase().indexOf(DESC_SUFFIX)); -} else { -
[09/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/engine-mr/src/test/resources/multi_file_str/data_1 -- diff --git a/engine-mr/src/test/resources/multi_file_str/data_1 b/engine-mr/src/test/resources/multi_file_str/data_1 new file mode 100644 index 000..ee43541 --- /dev/null +++ b/engine-mr/src/test/resources/multi_file_str/data_1 @@ -0,0 +1,1990 @@ +0005cc94-b007-4f31-90f0-4d80410d5e79 +005057a2-ef79-4b31-8480-8397e0f6e2bb +007fbfec-dc89-4256-afa9-c52269e7a31e +00b18cf2-53d0-4be1-80fd-bec6a47b46bc +00d907e8-a459-4663-8b71-0da459be50e1 +00ef7481-3a29-40cc-b6f5-202a24b44a0c +018c86b0-279b-40f4-9758-32d0a1a522c3 +01a07ce6-7fd4-4ae2-a430-12a03788199c +01ae765e-226e-4642-b382-0c6cc2eca798 +01b1e026-a47b-4ff8-85f2-8de89334139e +01fb060a-ae9b-47b2-831d-4c36b6c93b1e +021426fa-84d6-4ddc-8974-15d908f5e601 +021dade6-1085-49bd-97bb-e4b223c8425c +022b895c-a8ce-4a18-ba9d-be103b296771 +022d5709-23fa-464c-ad96-dd2fddf58e68 +025e3a2e-44af-4694-875d-6ca9de45e9a4 +02606751-63fc-417b-93fe-3fd3ec4942f4 +02a259a7-2b35-4dab-9857-964cae1b3630 +02a4fe44-3464-4de5-bdb0-e256fa71a2b7 +02bb8408-39a0-4818-add3-02f915782fb0 +02e36b48-46d8-49ac-9168-8490518f1922 +02e620e8-39ef-4ceb-ad69-d2cfe6d9b4b7 +0305fbd2-7c7b-42d8-9153-66e191a69efe +0310efc2-5dbe-4586-beeb-d2480d4bbb1f +031774dd-0b13-4279-b31a-462e6e9442bc +03248fd7-83b4-4c24-b281-9b6c3811 +036195d3-1ce6-4e59-a8d9-36d0d35f248c +03a25119-497a-48d5-9f50-b5a87aab84b9 +03af2273-fb4b-42d5-a9b8-b459a2d90c78 +03cdbdba-6923-4335-8cc2-b3b2317a6160 +03f0a4a3-07be-4f7b-867d-82885baefaeb +03f6e287-f5ae-479c-8a55-56f74afed997 +041ae6d0-9bc7-4342-a440-7ab2a402a0dc +041ae917-3697-44c1-a78d-a0799bb697e6 +04250b0a-acf7-4117-bab0-1d42b796d90d +043fe4f6-5cd9-4cf1-9f95-b6b56f310ef9 +0440d813-998e-4e60-9f8f-50becf8066bf +0443dc38-0193-4a23-9b66-b4cb6cbb555d +04793483-e5ec-495d-a211-4026d7701b46 +04b56c59-c15d-41de-bea5-b1715b69b3c8 +04bf76e7-23b5-402d-9e0c-740ce8a3387d +04c0f225-0897-479b-84eb-e3600baaf361 +04fdb9bb-0088-42a3-b4bf-cd91ccea2fe0 +050ddd3b-f8bd-4f5a-a839-182a97367aee +055a3f59-14f8-4893-88f4-ecad22adc150 +057191c2-3f8b-48ed-b932-9ec2df13849e +05c3a70d-6185-44d4-be48-307022efb1d5 +0640b40a-e418-4e90-8675-13458f256c20 +0658d229-9b4b-4559-9737-dd90b22f6a63 +06641f20-c6db-449b-8e4e-a4f2d62ca2fe +0668c755-716a-4921-b05f-f20f60e6818a +068e231b-d4e6-4785-8d31-f8f276b330bb +06a4efa2-8217-45c9-9402-9a63f0efbec2 +06e942ab-c053-41a5-8686-237cdde18365 +06f00088-e14a-496e-9510-3d26cf3a5782 +071d0310-1e75-4b91-9d06-ad1ed1c39d46 +07254c89-5eda-424c-bc9b-f44e568f444c +0731d06d-8c2f-4560-b5ee-9be7b7452ecf +076b0aa7-c95d-40be-9a15-835b93b171bb +076ffc77-c433-46ac-8089-cdb7bb08672a +0789584e-3d3c-448f-9268-0c63f37dff70 +07a771f3-00b1-4c0b-baa8-23ce0dce16ab +07c8fe67-dce8-4f19-92df-bbcef68de151 +07d4da44-06e0-4289-b422-33717482d0b5 +07efc40a-f27d-4ca6-a86a-fe720ff5246c +0822873c-cae8-417a-9115-cd42443b74c8 +0849beac-aeb6-4e1e-a3fd-e22a394b2bc8 +08603138-d916-4c56-9979-23ddcdfc7d79 +088c4d06-edd5-4755-8ea7-0e1287b8bff2 +08d6bada-5adc-4a33-acc7-e07ec245343f +08d82dd5-cf91-405e-8e6c-7cf12ace017e +09067e02-617b-4ce3-8ac6-77fe43e9f782 +09200ea2-2c20-437b-91d9-ad22656148ac +09503c81-fb15-45bf-b388-038fa9099879 +09679853-7f41-40e2-8d38-7fe326f7248f +09de044d-1438-4fd1-a084-fd1d570988df +0a3138fe-4be2-47d7-b17e-0dcbeea7f453 +0a350c27-eb95-4b4a-ab66-ae65ecefb15e +0a4296da-bcd2-4b45-bd0c-93b7c9164c52 +0a578961-fe44-489a-a7d2-d68ba68bc8d9 +0a6bf3fa-594f-4658-b93e-316ea5022534 +0a6c416f-7122-4d72-b9d6-3d0669e4009b +0a7a5b4b-1aa5-4732-a7b8-66ffc84eab4c +0a8cf4ff-685b-44b8-a78e-16c0aca6db62 +0ab0fe90-fce9-4c9e-90e3-81f165b64e91 +0ac33843-5fca-4df9-86d4-e1dbc4ea92bd +0af5a7ea-82ac-461c-a122-6f034a01cd95 +0b100b1d-487e-4a58-9f46-7a776b079dda +0b3e7018-723c-4be0-8839-12d74a42fb46 +0b510dac-8009-4b3b-a8ba-4ef8b746f988 +0b61f652-7cfa-45a7-be3e-ad5eee5bf726 +0b7eb036-cc3d-4df7-b532-436c7366c369 +0b9820ab-e846-4b61-8b97-5def0503c9d2 +0baacd76-d04c-4f78-81a4-3c9e78e242bd +0bb23b64-9a75-4f32-82dd-87f8c3e7cb6a +0bc5f734-c638-4815-950d-a4b37d8eea25 +0bd64b0a-868d-4b92-a5a8-7d93aa5159ec +0bdc03d0-73b5-41ff-80a6-f1c215cc46e5 +0c2d5a38-a98b-4a4a-b8ab-cf058a60fd7d +0c338748-ac2e-488a-a365-b75685a0461d +0c3765f0-2259-4987-b797-f88f35ea0873 +0c98b2dc-c5c4-46b5-b350-584d7bf6fa8b +0cd4d27d-4d95-4d0b-aab8-7e28dcc830df +0cdec55a-22f3-4aef-bacd-378c742eccf9 +0cf1c496-7d40-4c8e-ab0f-9aabd69e78dd +0d1295ca-6d5e-4617-8017-c7a6243cc0bd +0d873bb7-1a0b-42df-82d0-c15201e8d1a3 +0da55227-7a69-4ed0-bd71-67cebe5b4b47 +0dd9c9c5-71ee-4523-bfaa-64f3c82b45c0 +0de68325-19c4-4668-89cb-a21818613e5e +0e3e8c17-60c6-4dda-8648-b86f881c93ac +0e6178d5-87de-422e-9ab0-4668c25fd398 +0edb80b3-d3d4-40a8-8d0e-839939aca2e1 +0ee1de00-5e13-4af7-9e7f-4e32f140d774 +0f4efb00-0888-4e30-bd23-f1fa0f87f80b +0f6f7f5d-64a6-4406-a21a-0071b8313b9e +0fa10b55-cb5b-4974-b1f9-8ab3a1e7226c +0fb30e28-cac7-49d1-a649-8d04d6385747 +0fd28d53-6858-4902-8ba7-b00351a8d92a +0fe86888-df1d-4605-a9da-73882413e983
[06/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/engine-mr/src/test/resources/multi_file_str/data_4 -- diff --git a/engine-mr/src/test/resources/multi_file_str/data_4 b/engine-mr/src/test/resources/multi_file_str/data_4 new file mode 100644 index 000..7c0afd3 --- /dev/null +++ b/engine-mr/src/test/resources/multi_file_str/data_4 @@ -0,0 +1,2041 @@ +003511e3-3c9f-47b8-a4f1-59a982d41780 +00364074-2efe-4dcc-a526-06c03a9bd64e +003d3973-4b74-43e4-862d-3c93423c9016 +005b851f-6f5e-4bce-b44f-ab901bb19266 +00ae59d3-5f1a-4ffa-a9dd-ace8b1b616b3 +00e1077e-5db6-4739-b728-dcfdebbeac89 +00fd44f7-ef50-48a6-952f-83758e8b73fc +01412f09-1d12-479d-82a5-a0cc4cd3eb1d +01439f30-8956-47a6-afdc-1db126990f68 +01573fad-0365-4162-b37f-363f05212724 +0159fef7-4ca4-492f-8595-679dc92c8d96 +01647025-c8a8-4e2f-929f-2a7be01a3d2f +01a95d04-edfa-4992-abbe-a4effb60608b +01f38832-7270-4732-9321-7b36ab453241 +01f6e7fe-db14-4caf-b459-114eb059e6ef +01f95d79-5998-4f22-85ed-ab120baeccc4 +0213b384-5f87-450a-b7b0-7d28875567d3 +021657d7-7ed4-44b4-b310-2bcc030c5f17 +02320923-2831-433d-9936-b35532a74935 +0285c5a8-5391-4147-926d-0e8964613bc9 +02b9a18b-ded9-44f0-ba6d-d3276866b8de +02c23499-80c0-4821-a60f-ca446640018d +03196211-662e-40f7-9534-33b4984448e0 +03332ef9-4953-4b34-9d90-bb6418d599c7 +033ca26a-2001-4393-b450-20aedc8b7d73 +03896fe0-7e8b-4901-adb7-2d967bab0c32 +038ede24-4288-437c-ab82-8b3ecd8bf0a0 +03962dbf-26f6-450c-8d84-4506eb00b935 +03a4b0f3-a9ad-4780-93cc-cbb5fb0338bd +03c3576d-86d7-4267-830f-445dc6cf47aa +03c9a74a-bcb2-4d4a-8019-6da293cf90b9 +03cf2884-62fa-4ea7-86d2-76bb9a673927 +03dee29f-e388-4576-8943-deb3c3b80c83 +040047b2-c609-4677-8de2-17621ab043d6 +042c1afa-26e5-4d8a-8256-7402db698b2e +0464ad68-9c3e-4e97-82aa-2e9e722b06f7 +046714c9-01ee-44d7-83d5-07bcea2d7ba2 +048f02ba-1183-4290-8114-bf5abb74324f +0502e1b7-7cd6-4d8f-be64-9791f01c05a9 +0507561e-8fe2-488c-98e5-319d85005b36 +053ca4ca-f03f-4715-bf3c-d3fd81c90250 +054232b8-aba9-43d7-822e-ccd65ad2d8e2 +054647df-c970-48b0-a73b-7d9d779d6f75 +054e6f2b-e0e4-4d9c-a9a3-b7262b9ca776 +0556b4b5-5081-4c3b-ac4f-a6301aa87121 +05626b77-5944-4389-b398-92b80a4599cb +059fedcc-024d-436b-9d75-b71a28aa934f +05a5075a-5b22-4a8e-b0ab-dc496eaa097e +05c7a17e-5842-4ea3-ae5f-1f5b1a54bd5a +05e24866-3424-4f4d-b703-409c4dbf8104 +05f77326-e88e-4785-9c7f-c7f9c3df6652 +0625a0df-eea3-4f8b-bba2-4c8d3c5c9351 +062c94fc-3a06-4f89-9818-f61897482570 +06310498-3813-4554-ae61-57bea69db0b1 +0653727a-3fad-4c2f-9b89-a9982854a9c3 +068fbb79-03dd-49cb-92ce-1f65049c4543 +06b2785c-ec04-4f46-87ad-f76e68422ae0 +0710dad8-485e-4c3e-b0fe-2cd569d90507 +071d54d9-f884-4b0c-a8f4-85bc436475e1 +0725acc2-5ae7-4ddb-af1a-90e5c98f33c2 +072ba507-beca-4680-94a2-ceb062cb1890 +0748f60e-0c63-4e99-b804-ab872a09aef7 +0768b6d9-2dd2-41a7-9193-42712a34359b +078966b8-26cd-4416-80d5-754616122c3c +07adc055-aace-40c6-a7da-ebac55d46e91 +0811fff3-186f-4637-ae9d-5740fef969c7 +082781e5-fa2e-443a-8ba2-ec789423eaf3 +08327101-0aa3-48ee-b25d-6d787ff144e7 +085310c6-577e-41a2-9214-f63f25fc1fde +08624ffe-fe03-4e4f-b39a-c9d83b847a3b +0877cc24-e51f-48b7-969d-43dad21289c7 +0892766e-1c4a-4c80-b211-8967f693eddc +08cc45ba-12e1-496c-9a72-78c401fe58d4 +08dfa8fc-c109-4322-a933-cb01119ff572 +08e883e1-fdc3-481b-ac4d-68a715b46a5b +08f7f315-6a9b-4575-b613-593e5f04cd7b +095436d6-8a5e-4b90-ac87-f2945ac673eb +096c8285-50ac-4373-a0ee-3c30aac7164e +09967e6a-343a-4629-bfb5-82413379839b +09a6886b-a3e0-43d1-b2a4-7d090b171f4d +0a060fcb-a1bd-40cc-8e5e-99c83287f22b +0a15d2b3-7c89-4113-a6cc-fbc6e136030e +0a445c63-85a3-42e0-bcad-aa341e4b0ea1 +0a5bd490-a8ad-4a04-bb36-bc722ff97f6d +0a6c64fe-6ac2-40dc-857f-90a04474c92b +0a8d5267-ef87-4223-b003-01ee7f716926 +0a8dfaec-1c57-4baf-aeb9-84c6763c603b +0a9a149c-3704-4ac5-90de-ce06aaf883ed +0a9aedb3-e4f1-4ab9-82bf-52f7b3c3d66c +0aa52441-b644-4ca7-9f6d-cfb314a255ab +0acffdf7-12bc-41c3-a012-90ecb3306d51 +0b3b9628-ad13-42d3-9f9e-2a45b8280708 +0b65e109-8018-4054-93da-d860f94ba860 +0b9fb904-a1c1-4ca4-af80-30e9e1d6849a +0ba9bb17-ab1a-451d-8485-fd09aab2ff56 +0bc79581-b054-49b3-a98f-f12170516631 +0bd84756-af77-44e3-ad3d-28190a916fa5 +0c20ec9b-24f7-4436-b7a9-22c88dcbcadb +0c3edb98-1162-4824-add7-3d3f57e811c2 +0c523875-3b57-4ba2-b3d1-c916c4077f1e +0c56bb2c-c018-4901-9a3c-0c191cc83d2d +0c5dba85-62f0-47f2-a2a1-04d075c22fea +0c8f0ca1-c8c5-4f56-bde5-0980cb6b4663 +0cab8877-0532-43b2-b5ae-9077280e960d +0cbf8745-20a2-4180-a032-5513f3ae7102 +0d6d435d-fcb2-41c7-adfb-70e8ee2a2ca4 +0d7a5055-3371-42bc-88e7-d0b91b68893c +0d9d827c-98a4-4c28-913e-30913a2f896c +0dde2519-541e-45bd-887d-441d7460ed2a +0ddee6a9-34df-4177-bc06-5127326cb6e9 +0e05c1d8-eb2b-4722-82f9-359f5bd19b37 +0e285454-71a5-40ef-bb5c-bf32a32dc3a4 +0e73e1e5-f753-494f-9d6d-7caef066f029 +0e7e6f43-2c71-428c-8ff9-39a1b90cf0e5 +0e935a16-8784-43f6-b7a1-f59e3cd00f0c +0eb3fa79-3b93-455d-a25a-d224a9e55f0a +0eb7bd99-97b8-41c2-9d8b-371a3bf40161 +0ed3a37f-5e6e-450c-82b1-75d6368f8bd3 +0f6eaeda-a895-4e4d-b989-0f556d70c4ec +0f7a0ccc-d9f1-47f0-9b7a-4760682a0725
[32/50] [abbrv] kylin git commit: minor, fix kylin.sh version
minor, fix kylin.sh version Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/83adb8eb Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/83adb8eb Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/83adb8eb Branch: refs/heads/KYLIN-1875 Commit: 83adb8eb8700d388aa042d833e7fea9746282624 Parents: b8e764d Author: Hongbin MaAuthored: Wed Nov 23 18:14:40 2016 +0800 Committer: Hongbin Ma Committed: Wed Nov 23 18:14:45 2016 +0800 -- build/bin/kylin.sh | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/83adb8eb/build/bin/kylin.sh -- diff --git a/build/bin/kylin.sh b/build/bin/kylin.sh index b0627ef..d3aa4cb 100644 --- a/build/bin/kylin.sh +++ b/build/bin/kylin.sh @@ -151,6 +151,7 @@ then elif [ "$1" = "version" ] then +retrieveDependency exec hbase -Dlog4j.configuration=file:${KYLIN_HOME}/conf/kylin-tools-log4j.properties org.apache.kylin.common.KylinVersion exit 0
[02/50] [abbrv] kylin git commit: revert KYLIN-2199 because KYLIN-2191 is not a major fix
revert KYLIN-2199 because KYLIN-2191 is not a major fix Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1c730b91 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1c730b91 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1c730b91 Branch: refs/heads/KYLIN-1875 Commit: 1c730b91b3c0847873dbbf74106647b663be1942 Parents: 8132cab Author: Hongbin MaAuthored: Tue Nov 22 15:32:31 2016 +0800 Committer: Hongbin Ma Committed: Tue Nov 22 15:32:31 2016 +0800 -- .../gridtable/DimEncodingPreserveOrderTest.java | 4 +- .../dimension/DimensionEncodingFactory.java | 4 - .../apache/kylin/dimension/IntegerDimEnc.java | 3 +- .../apache/kylin/dimension/IntegerDimEncV2.java | 218 --- .../kylin/dimension/IntegerDimEncTest.java | 16 +- 5 files changed, 11 insertions(+), 234 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/1c730b91/core-cube/src/test/java/org/apache/kylin/gridtable/DimEncodingPreserveOrderTest.java -- diff --git a/core-cube/src/test/java/org/apache/kylin/gridtable/DimEncodingPreserveOrderTest.java b/core-cube/src/test/java/org/apache/kylin/gridtable/DimEncodingPreserveOrderTest.java index 7d6af24..1866079 100644 --- a/core-cube/src/test/java/org/apache/kylin/gridtable/DimEncodingPreserveOrderTest.java +++ b/core-cube/src/test/java/org/apache/kylin/gridtable/DimEncodingPreserveOrderTest.java @@ -26,7 +26,7 @@ import java.util.List; import org.apache.kylin.common.util.ByteArray; import org.apache.kylin.dimension.DimensionEncoding; import org.apache.kylin.dimension.FixedLenHexDimEnc; -import org.apache.kylin.dimension.IntegerDimEncV2; +import org.apache.kylin.dimension.IntegerDimEnc; import org.apache.kylin.dimension.OneMoreByteVLongDimEnc; import org.junit.BeforeClass; import org.junit.Test; @@ -98,7 +98,7 @@ public class DimEncodingPreserveOrderTest { @Test public void testVLongDimEncPreserveOrder() { for (int i = 1; i <= successValue.size(); i++) { -IntegerDimEncV2 enc = new IntegerDimEncV2(i); +IntegerDimEnc enc = new IntegerDimEnc(i); List encodedValues = Lists.newArrayList(); for (long value : successValue.get(i - 1)) { encodedValues.add(encode(enc, value)); http://git-wip-us.apache.org/repos/asf/kylin/blob/1c730b91/core-metadata/src/main/java/org/apache/kylin/dimension/DimensionEncodingFactory.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/dimension/DimensionEncodingFactory.java b/core-metadata/src/main/java/org/apache/kylin/dimension/DimensionEncodingFactory.java index 843f4cd..4954ead 100644 --- a/core-metadata/src/main/java/org/apache/kylin/dimension/DimensionEncodingFactory.java +++ b/core-metadata/src/main/java/org/apache/kylin/dimension/DimensionEncodingFactory.java @@ -117,10 +117,6 @@ public abstract class DimensionEncodingFactory { map.put(Pair.newPair(IntegerDimEnc.ENCODING_NAME, value.getCurrentVersion()), value); } { -IntegerDimEncV2.Factory value = new IntegerDimEncV2.Factory(); -map.put(Pair.newPair(IntegerDimEncV2.ENCODING_NAME, value.getCurrentVersion()), value); -} -{ FixedLenHexDimEnc.Factory value = new FixedLenHexDimEnc.Factory(); map.put(Pair.newPair(FixedLenHexDimEnc.ENCODING_NAME, value.getCurrentVersion()), value); } http://git-wip-us.apache.org/repos/asf/kylin/blob/1c730b91/core-metadata/src/main/java/org/apache/kylin/dimension/IntegerDimEnc.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/dimension/IntegerDimEnc.java b/core-metadata/src/main/java/org/apache/kylin/dimension/IntegerDimEnc.java index 44d0e73..090dc83 100644 --- a/core-metadata/src/main/java/org/apache/kylin/dimension/IntegerDimEnc.java +++ b/core-metadata/src/main/java/org/apache/kylin/dimension/IntegerDimEnc.java @@ -36,7 +36,6 @@ import org.slf4j.LoggerFactory; * -2^(8*N-1) is not supported because the slot is reserved for null values. * -2^(8*N-1) will be encoded with warn, and its output will be null */ -@Deprecated//due to a fatal bug (KYLIN-2191) and the limitation of not able to represent -2^(8N-1) public class IntegerDimEnc extends DimensionEncoding { private static final long serialVersionUID = 1L; @@ -122,7 +121,7 @@ public class IntegerDimEnc extends DimensionEncoding { //only take useful bytes integer = integer & MASK[fixedLen]; -boolean positive = (integer &
[08/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/engine-mr/src/test/resources/multi_file_str/data_2 -- diff --git a/engine-mr/src/test/resources/multi_file_str/data_2 b/engine-mr/src/test/resources/multi_file_str/data_2 new file mode 100644 index 000..affa581 --- /dev/null +++ b/engine-mr/src/test/resources/multi_file_str/data_2 @@ -0,0 +1,1992 @@ +0045ee27-7fc4-4b1c-9ed6-8902e80692c9 +00565369-b833-4e1f-a8ef-6f825242a4d4 +00795204-5a38-4af5-8375-bba5e4382dc7 +00b25c18-9fd6-4b90-892c-a57ffd5841b3 +01401e6f-8dc0-43a3-99ad-6bc1c678bd21 +015c6973-3f32-4a0a-88f2-1f82a1b9f6a2 +01654b43-2c4b-4af1-96b4-fdd8a2b75536 +016da6e6-f4c2-48c6-adf7-4aaf6a7fd850 +016db1b7-82f8-438c-9aaf-125ed70f7975 +016fda45-f76d-41b2-b3f3-d693f38141e9 +0178b2fc-907e-4867-80fc-a2c840978049 +01bb4af2-f5a8-4d6f-8a69-08a5ea3601f7 +01db1b24-cde1-450e-a979-27940c524631 +02078814-e580-4ae7-b77b-7a320fe28282 +0213ef6b-ba04-4140-b5d5-536bf156c226 +02185e06-c1db-4402-8057-e54a3755cf68 +0228d81b-3798-4110-8448-35efb404e46e +023a4071-3e92-4918-8f06-f213b9bc3b4e +025c8eb6-dc5e-47c5-a921-ef231a71c6c3 +028369d7-d3a0-4ec2-b84d-517ea9f1bdcb +029d97cb-86d1-46fe-ac71-e0774ef20c6e +02e8e373-4ac8-4dcd-b798-8520a641b080 +02f2775c-fb9e-4694-9a22-2642d6d8244b +03135972-ec17-447b-8042-fd2eb1ee4260 +033896e7-41e8-44f0-b94e-26a0370d1ee0 +038362fe-1152-4747-a143-dc1557168bae +0397a221-5c5e-41f6-a972-cf360394d758 +039d1f7d-37f2-4864-8ea4-fb4dee9ef071 +03c6a446-4e75-466d-82b1-1b584ebf50c9 +03fb2a98-60da-429d-9588-a37ddad214ba +040b9fd9-306a-413d-9924-9aeacfd39afc +040c3f99-f755-4fcb-b537-15a51d73d29d +040ce641-8ebc-4364-a8c2-bacabc96443d +046016f3-6d75-4174-b9f9-5e067aadff7d +04ad7bb4-650d-4d01-930d-22ebad831bf1 +04d0ed08-3bee-4554-90de-0e8883962c3e +04e6bcdb-ac32-49ce-a82e-3763aee08b5c +04e90c02-fe9d-4530-8012-7dcd6147cce6 +05336a1c-c0c5-4d11-be62-95da26541369 +0550854c-43d8-47a8-a9f4-7043de9ed2b4 +05663e89-0efd-47fa-9a78-4804dd47a37b +056c162c-73b6-4cff-a372-5977c14d79e7 +058a1d60-ce40-4fcd-8de9-e74b4eac1bf4 +058d24aa-aeb0-4ed7-b90f-b4bc6bf637c4 +0615d8e3-d38d-4602-9869-f26601771647 +063d25b6-e8d6-47a0-a5cb-4a85a93d80f3 +06828737-e134-4c27-b9c7-64b238f2144f +06bbed15-89fb-4ee3-92db-ed099cd66c1b +06c1db91-42ac-4f5e-8049-024995a2b20c +06d082af-9435-44f1-a754-56df2e1e0218 +06db6e63-6dc5-4f4b-ab66-edcb7bdeabfa +06e6568d-cc25-4409-bd55-c999561c2125 +06f0de8b-c447-41e4-aff5-73b36ce2d763 +0765b13d-8d51-4001-84f8-2f466282ec0a +078db134-2b98-4e82-9964-dbfce9213558 +0790aec1-62a6-422a-918f-a199ba30e616 +07a2bdc8-eb67-4a33-af47-4da629d9967b +07c03faf-a528-46de-9c53-a54a4fffbb8e +07c1104d-4b8b-45db-97cb-f309a4257598 +07f9e2db-c32d-43c9-9a94-c1b14986f550 +085eefd2-0fb0-4635-91ae-2e787f24e772 +08875a08-f046-4cac-8b95-d5f124f3949b +0895db75-9173-4002-b8aa-25e28ca8f082 +08b61437-2781-43f0-b984-8c65599cadb7 +08e63679-4812-4e2f-895d-3f4cfeac0f2b +08f9526e-294a-41fa-bb4a-b6456df30ffd +0900817a-a85e-4ae4-a48e-6e6c7d9db3f6 +091350dc-c50f-452d-8994-0c17ab592770 +091689c5-800c-487e-b944-77cb1b52f6ab +09614ac1-d05d-4b7f-ae85-21c91333b4e9 +096b7528-e16e-4ec1-8547-af6acf881dc4 +09a3011b-8c20-427e-9804-aef8a0e4575f +09b61041-21e3-4cdf-826a-f50f6073baa0 +09cf53f3-0617-422b-a3b8-37cc604d50d9 +09d32625-87ed-4109-a9f8-d12b11b11f20 +09e36bfb-b527-472a-9947-8810fd0aa78c +09e53921-215b-418f-b866-bccc4edfe6b9 +09f5c5cd-ec62-4299-8351-b2bf76c7bd4a +0a198682-6836-4f10-b7c0-46ca620d5103 +0a91da68-234c-46aa-8554-14e386f901fc +0aa3aa8c-0b2c-4cbc-b53e-e7bff33506e6 +0aae8b44-9689-44f8-bdc4-75cd7d8f863f +0ab56e1a-8e60-44ae-8130-36970b1c5d4a +0ad567cd-f733-47a2-b13f-e753c1767cc2 +0ae4451e-89a4-48b4-9de8-83fe5678a79f +0b03528b-4cb5-4e66-b871-5c200e529d1f +0b9e6cf7-9d7e-4b98-b061-64d3ad6e075b +0ba845e9-699f-47a3-9870-395299d2f359 +0bd30618-b404-4c18-9066-840ac2ce4812 +0c39b4e2-f78b-4f31-b6dd-c58505a2aefa +0c46ef6d-30f6-479d-bf1e-2314e379e843 +0c4a25b9-7ef6-4607-a47f-256e6f30d86c +0c52a734-8630-4309-a752-f2b1d130d657 +0c588cf9-84df-40c8-896d-c895cfa736d9 +0c5fdb86-88ba-4f89-b042-e7a6d5fff03e +0cf9aad5-bb4a-461d-b2bd-699ad978d2c7 +0d419616-8a18-45b0-8f9e-ad30e3ba2887 +0d467189-117a-4b98-8515-67f57b3a8f31 +0d91b525-db8c-4bbd-b7a3-4bab45be8c8c +0e035f76-86cb-45c4-89a8-03325d171df9 +0e0ed498-067c-4818-9bec-b76e4953cb0e +0e1009a2-f522-4eeb-9356-b8683b4d49d3 +0e335e20-321b-4e41-8763-00c8c6e4930a +0e909803-a39e-476a-8265-1f56d77d0b53 +0e9c1c91-f818-48d9-a8ad-6956b184b7b6 +0ea7e399-8766-47b8-952b-10f752e50872 +0eaba7b6-5853-4ef8-81c8-9437d75fe837 +0ecbd07a-5230-439e-a690-72feb8f4c2de +0eebec4e-5a48-4fde-9ee4-af6a469a2c11 +0f04df6b-20be-4cc4-b7d0-65dceb1b56e4 +0f17b161-2218-4404-a681-95c02dea9485 +0f228d7b-5608-4f89-8967-ecfa4e05714c +0f3f8a3a-bda0-46fc-8945-da18676d8496 +0f7eafc1-2062-4674-95be-286a33f4cf15 +0fbf77ea-3dfe-45ff-b37b-282e4862bc2f +101c7808-ed59-45cb-90bc-8613ecfc6e31 +1021ddb3-b705-4387-9b5c-6375809b3e0f +102c775a-8a33-4e39-ba77-41f54b1e6786 +104c0682-c09f-49ec-b71f-2f0731b74e93 +104f5c65-b19b-4283-a0eb-82bbe46a644e
[24/50] [abbrv] kylin git commit: KYLIN-2195 All code changes, ready for test
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/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 db1a170..f2edcb4 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 @@ -1,285 +1,285 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.dict.lookup; - -import java.io.DataInput; -import java.io.DataOutput; -import java.io.File; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import com.google.common.base.Strings; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.ArrayUtils; -import org.apache.kylin.common.persistence.ResourceStore; -import org.apache.kylin.common.persistence.RootPersistentEntity; -import org.apache.kylin.common.util.Dictionary; -import org.apache.kylin.dict.StringBytesConverter; -import org.apache.kylin.dict.TrieDictionary; -import org.apache.kylin.dict.TrieDictionaryBuilder; -import org.apache.kylin.metadata.model.ColumnDesc; -import org.apache.kylin.metadata.model.TableDesc; -import org.apache.kylin.source.ReadableTable; - -import com.fasterxml.jackson.annotation.JsonAutoDetect; -import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility; -import com.fasterxml.jackson.annotation.JsonProperty; - -/** - * @author yangli9 - */ -@SuppressWarnings("serial") -@JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) -public class SnapshotTable extends RootPersistentEntity implements ReadableTable { - -@JsonProperty("tableName") -private String tableName; -@JsonProperty("signature") -private TableSignature signature; -@JsonProperty("useDictionary") -private boolean useDictionary; - -private ArrayListrowIndices; -private Dictionary dict; - -// default constructor for JSON serialization -public SnapshotTable() { -} - -SnapshotTable(ReadableTable table, String tableName) throws IOException { -this.tableName = tableName; -this.signature = table.getSignature(); -this.useDictionary = true; -} - -public void takeSnapshot(ReadableTable table, TableDesc tableDesc) throws IOException { -this.signature = table.getSignature(); - -int maxIndex = tableDesc.getMaxColumnIndex(); - -TrieDictionaryBuilder b = new TrieDictionaryBuilder(new StringBytesConverter()); - -TableReader reader = table.getReader(); -try { -while (reader.next()) { -String[] row = reader.getRow(); -if (row.length <= maxIndex) { -throw new IllegalStateException("Bad hive table row, " + tableDesc + " expect " + (maxIndex + 1) + " columns, but got " + Arrays.toString(row)); -} -for (ColumnDesc column : tableDesc.getColumns()) { -String cell = row[column.getZeroBasedIndex()]; -if (cell != null) -b.addValue(cell); -} -} -} finally { -IOUtils.closeQuietly(reader); -} - -this.dict = b.build(0); - -ArrayList allRowIndices = new ArrayList (); -reader = table.getReader(); -try { -while (reader.next()) { -String[] row = reader.getRow(); -int[] rowIndex = new int[tableDesc.getColumnCount()]; -for (ColumnDesc column : tableDesc.getColumns()) { -rowIndex[column.getZeroBasedIndex()] = dict.getIdFromValue(row[column.getZeroBasedIndex()]); -} -allRowIndices.add(rowIndex); -} -} finally { -
[04/50] [abbrv] kylin git commit: int deorecated show better
int deorecated show better Signed-off-by: Hongbin MaProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/bce9ab82 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/bce9ab82 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/bce9ab82 Branch: refs/heads/KYLIN-1875 Commit: bce9ab822492772c7c2b42421941421dfb27f9f7 Parents: a058049 Author: luguosheng <550175...@qq.com> Authored: Tue Nov 22 17:12:35 2016 +0800 Committer: Hongbin Ma Committed: Tue Nov 22 17:14:04 2016 +0800 -- webapp/app/js/controllers/cubeEdit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/bce9ab82/webapp/app/js/controllers/cubeEdit.js -- diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js index 10f8185..888662d 100755 --- a/webapp/app/js/controllers/cubeEdit.js +++ b/webapp/app/js/controllers/cubeEdit.js @@ -49,7 +49,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio var name = value; var typeVersion=+encodings[i]; if(value=="int"){ -name = "int deprecated"; +name = "int (deprecated)"; } if(/\d+/.test(""+typeVersion)&>1){ for(var s=1;s<=typeVersion;s++){
[33/50] [abbrv] kylin git commit: minor, cleanup kylin_rest_address in kylin.sh
minor, cleanup kylin_rest_address in kylin.sh Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/53b5a6d8 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/53b5a6d8 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/53b5a6d8 Branch: refs/heads/KYLIN-1875 Commit: 53b5a6d8e2fa854cbf09ea66fc39bdfbd961950f Parents: 83adb8e Author: Yang LiAuthored: Wed Nov 23 22:28:38 2016 +0800 Committer: Yang Li Committed: Wed Nov 23 22:28:38 2016 +0800 -- build/bin/kylin.sh| 10 +- .../apache/kylin/common/BackwardCompatibilityConfig.java | 2 ++ 2 files changed, 3 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/53b5a6d8/build/bin/kylin.sh -- diff --git a/build/bin/kylin.sh b/build/bin/kylin.sh index d3aa4cb..fca1e5c 100644 --- a/build/bin/kylin.sh +++ b/build/bin/kylin.sh @@ -86,14 +86,7 @@ then #additionally add tomcat libs to HBASE_CLASSPATH_PREFIX export HBASE_CLASSPATH_PREFIX=${tomcat_root}/bin/bootstrap.jar:${tomcat_root}/bin/tomcat-juli.jar:${tomcat_root}/lib/*:${HBASE_CLASSPATH_PREFIX} -if [ -z "$KYLIN_REST_ADDRESS" ] -then -kylin_rest_address=`hostname -f`":"`grep "/dev/null 2>&1; nc_result=$? if [ $nc_result -eq 0 ]; then @@ -119,7 +112,6 @@ then -Dkylin.hive.dependency=${hive_dependency} \ -Dkylin.hbase.dependency=${hbase_dependency} \ -Dkylin.kafka.dependency=${kafka_dependency} \ --Dkylin.rest.address=${kylin_rest_address} \ -Dspring.profiles.active=${spring_profile} \ org.apache.hadoop.util.RunJar ${tomcat_root}/bin/bootstrap.jar org.apache.catalina.startup.Bootstrap start >> ${KYLIN_HOME}/logs/kylin.out 2>&1 & echo $! > ${KYLIN_HOME}/pid & http://git-wip-us.apache.org/repos/asf/kylin/blob/53b5a6d8/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java b/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java index 664d9bb..21df932 100644 --- a/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java +++ b/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java @@ -185,6 +185,8 @@ public class BackwardCompatibilityConfig { // exclude webapp/app/components if (f.getName().equals("components") && f.getParentFile().getName().equals("app")) return false; +else if (f.getName().equals("node_modules") && f.getParentFile().getName().equals("webapp")) +return false; else if (f.getName().equals("target")) return false; else
[36/50] [abbrv] kylin git commit: KYLIN-2229 update source-assembly.xml
KYLIN-2229 update source-assembly.xml Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/af3e4fec Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/af3e4fec Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/af3e4fec Branch: refs/heads/KYLIN-1875 Commit: af3e4fece65b7f7add39bb016ba03e0e7774ab3e Parents: 873f903 Author: shaofengshiAuthored: Thu Nov 24 09:44:22 2016 +0800 Committer: shaofengshi Committed: Thu Nov 24 13:38:25 2016 +0800 -- assembly/src/main/config/assemblies/source-assembly.xml | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/af3e4fec/assembly/src/main/config/assemblies/source-assembly.xml -- diff --git a/assembly/src/main/config/assemblies/source-assembly.xml b/assembly/src/main/config/assemblies/source-assembly.xml index 23a215b..fad45aa 100644 --- a/assembly/src/main/config/assemblies/source-assembly.xml +++ b/assembly/src/main/config/assemblies/source-assembly.xml @@ -92,12 +92,14 @@ limitations under the License. %regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?dist(/.*)?] - %regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?build(/.*)?] - %regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?lib(/.*)?] %regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?docs(/.*)?] + + + %regex[(?!((?!${project.build.directory}/)))?engine-spark(/.*)?] +
[47/50] [abbrv] kylin git commit: KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance'
http://git-wip-us.apache.org/repos/asf/kylin/blob/dbbbae22/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" :
[26/50] [abbrv] kylin git commit: KYLIN-2195 All code changes, ready for test
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/StreamingCubeRule.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/StreamingCubeRule.java b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/StreamingCubeRule.java index db331d5..fb0db8c 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/StreamingCubeRule.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/StreamingCubeRule.java @@ -1,79 +1,79 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.cube.model.validation.rule; - -import org.apache.kylin.cube.model.CubeDesc; -import org.apache.kylin.cube.model.DimensionDesc; -import org.apache.kylin.cube.model.validation.IValidatorRule; -import org.apache.kylin.cube.model.validation.ResultLevel; -import org.apache.kylin.cube.model.validation.ValidateContext; -import org.apache.kylin.metadata.model.DataModelDesc; -import org.apache.kylin.metadata.model.ISourceAware; - -import org.apache.kylin.metadata.model.TblColRef; - -/** - * - */ -public class StreamingCubeRule implements IValidatorRule { - -/* - * (non-Javadoc) - * - * @see - * org.apache.kylin.metadata.validation.IValidatorRule#validate(java.lang.Object - * , org.apache.kylin.metadata.validation.ValidateContext) - */ -@Override -public void validate(CubeDesc cube, ValidateContext context) { -DataModelDesc model = cube.getModel(); - -if (model.getRootFactTable().getTableDesc().getSourceType() != ISourceAware.ID_STREAMING) { -return; -} - -if (model.getLookupTables().size() > 0) { -context.addResult(ResultLevel.ERROR, "Streaming Cube doesn't support star-schema so far; only one fact table is allowed."); -return; -} - -if (model.getPartitionDesc() == null || model.getPartitionDesc().getPartitionDateColumn() == null) { -context.addResult(ResultLevel.ERROR, "Must define a partition column."); -return; -} - -final TblColRef partitionCol = model.getPartitionDesc().getPartitionDateColumnRef(); -boolean found = false; -for (DimensionDesc dimensionDesc : cube.getDimensions()) { -for (TblColRef dimCol : dimensionDesc.getColumnRefs()) { -if (dimCol.equals(partitionCol)) { -found = true; -break; -} -} -} - -if (found == false) { -context.addResult(ResultLevel.ERROR, "Partition column '" + partitionCol + "' isn't in dimension list."); -return; -} - -} - -} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +package org.apache.kylin.cube.model.validation.rule; + +import org.apache.kylin.cube.model.CubeDesc; +import org.apache.kylin.cube.model.DimensionDesc; +import org.apache.kylin.cube.model.validation.IValidatorRule; +import org.apache.kylin.cube.model.validation.ResultLevel; +import org.apache.kylin.cube.model.validation.ValidateContext; +import org.apache.kylin.metadata.model.DataModelDesc; +import org.apache.kylin.metadata.model.ISourceAware; + +import org.apache.kylin.metadata.model.TblColRef; + +/** + * + */ +public class
[07/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/engine-mr/src/test/resources/multi_file_str/data_3 -- diff --git a/engine-mr/src/test/resources/multi_file_str/data_3 b/engine-mr/src/test/resources/multi_file_str/data_3 new file mode 100644 index 000..f8195c6 --- /dev/null +++ b/engine-mr/src/test/resources/multi_file_str/data_3 @@ -0,0 +1,1948 @@ +0096b54c-a8ba-4c45-b579-14d6dbe135dd +00980ae3-dbcc-45a2-b003-6f761a99d32d +0125a3fe-53a4-413f-9c79-1a221e5821ca +0125d522-8c77-4dfc-8b48-2e3e693955c7 +0125f5c9-fd20-41c8-bf8b-24929664ce4e +0133fa28-78cc-4b70-a63c-51cf77e0fe70 +0165b916-74fd-4d5a-a26e-56828bde147b +016d1cfb-129b-4788-893e-a124034ebdfb +02237af5-4665-48b7-ad55-25db423a3d81 +02318922-1d3e-49fd-9d1c-12b9764ae9f7 +0232a118-7b48-4b0b-8e16-0dfd0633e236 +02576c08-1082-47f4-9efb-0dcd12698d93 +027768b7-7775-4ae5-9ec5-9a68d601f615 +029329b5-44b5-4127-bb39-c7903b5a9804 +02af5639-679c-4694-81d1-a8d61617246c +02ca7081-41b4-4ea7-9fc4-a921542bb829 +02e23288-21ef-4c3a-8370-83a3735b523d +02e72bcc-48b5-4c52-8fa4-22d026290b48 +02f266bc-bb2d-476d-b8c2-69efa25de39d +032825c3-3660-4b1d-8b61-64afa8a5a0ce +03287e77-ccd7-43cb-a81e-5146905e558d +032b09d7-c50a-48a7-bc02-ff98794f1303 +0338e66e-1f09-4da3-8846-2995b90ed4f2 +034677fa-5dd5-4a2d-a25a-e3130dff3ae0 +03926636-7251-488e-811d-670aaabe0b15 +039cc454-99f8-4081-9e04-58142af8b791 +03ccf53c-851b-4eb6-96dd-ee32a4349ce7 +03cdf1ae-947d-4dac-80a5-542bf633de3c +03ece7f8-912d-4b7c-9fb8-d8bce8b3c03e +03ef4a93-7ecb-411f-bf28-91eb4f4d5390 +04270d3d-cc3e-40ef-a95a-32ee4b60080f +04682d83-3f08-4daa-8f4b-4377439d7e67 +04836cef-a499-45e9-b4db-e5cbe6a47360 +0499503b-7ffc-4d2f-91c6-083f0437ce25 +04aa3c7a-4d78-46ad-abbd-3a39d5aa1fd7 +04d64d9b-d56b-44f8-9165-c67c95b269b4 +04db6ade-4ddb-40ed-a64c-086b69afb54d +04e4e1df-06d7-4830-a6ca-b5aa8bcc3bae +04fa63c4-26a3-41c4-bec9-80af3e3f9054 +05122c37-3ab2-4995-9879-0dc60a847acd +0523a8a8-49c1-477a-9bb8-84604a4585e1 +05460f94-1a47-4857-9935-c6dade2772f9 +057cc7c2-c290-4d74-ad1b-4c088a52f9f0 +05910d98-139c-475c-bff3-deec71f149e0 +05960493-10c8-4cbc-8e33-1d26b4094db9 +05b0669a-77c2-4d94-bf47-03de9d8b2753 +05bc4a47-caa2-4c33-a767-dfe919db0922 +05cc3e00-2d7a-4dc2-aad2-748a3f873e3f +060c973d-53b2-40ee-9a56-ae3c213584cd +0612b50c-e374-4735-8860-acdfe633c575 +06167be2-490f-440a-b56d-b67c8a3cfb4c +061b7f3e-d1e1-481a-85c3-e2925eb33299 +065288c8-9f18-46d7-8574-268f5faa2153 +065a5e40-d5c2-4a0d-bd17-f2813f3fae41 +06b50675-1c2f-445d-a150-59216dafda8b +06c11a51-82eb-4b3e-9e5b-6513380a992c +06c9051d-800c-4aea-8215-4ed50dd2134c +072ed7d6-edd7-4f9d-bda5-741faa78eb14 +077367d1-9503-4c05-ac4e-4ca6d625dd76 +07a3605b-42ad-4713-ad68-66d82791d913 +07aa0f29-332f-4d8e-bf16-464b13d0823b +07fd8163-fcbc-49bb-8e36-c67ada2f7995 +08051883-1810-4139-be4b-c35243ff97c7 +08053d2e-2097-4211-9b94-3815d69935d8 +08085995-1ca5-4bab-8e48-1d85d4fc7997 +080d85cd-505d-4041-96a4-929fdb6e67f6 +087fd627-9ce4-4b85-9c44-e07aab81806c +0899d820-1d47-4d4e-94b8-9a09feaaa9f4 +08abd59e-e720-4ea0-81a4-c40b4d98cc2e +08ce11e7-ea27-4df0-90f0-d8dc429b7b06 +08e6b700-d15c-4f92-a9dd-2930135af5e4 +0905ff6b-a93d-45d0-999f-369cbb601d90 +090fcffb-842b-4c5d-a119-3af601b121a8 +0917adbf-036a-471f-947d-a3ea53c9f5c9 +093849cb-654e-4cfe-ad5e-d6407d597e98 +0946b9c7-7adf-4587-b514-ced7816d6530 +09677dc3-75c9-4349-92d5-6d29a77ef923 +098ba031-8626-4ebe-9abf-0817d0282a6a +0995a065-7917-4f0e-b28b-0ddfde40b7b8 +09a708c9-28a5-48dc-9b0c-0abe233b24d4 +09dfbd16-ed86-4463-9317-ddd2f7bff51e +09f3cd27-b43d-476e-a2d0-8ae3e52e85ba +09f7c9c6-6b17-460b-a3b9-598017533c08 +0a13e299-faa4-443c-b091-9664d7e9987d +0a349398-b03d-43df-83ee-cd4817cd55fd +0a4edb8c-acd4-43aa-961f-15fee1b7eaaa +0aae781d-c933-4f21-9b28-ee4e1a067010 +0b1aece5-6f38-429a-9364-177d330ebeca +0b5fed21-ce2c-4d9e-96a3-e1ba98cf05d6 +0b6f398e-187a-432f-845e-b6492f4d5786 +0b9e17e7-3e27-4050-ab69-b3c43b1d1e21 +0c10c194-cedf-48d9-b657-578a588894f3 +0c13bfe1-7696-4581-8a31-b8d26af3ef0c +0c418c78-4164-423d-ad3e-52d0d12f4e51 +0c8bcc53-304c-47af-a508-64304085d2d3 +0cb9ce1d-b7d1-47de-8b7d-ae5db873fe01 +0ce24a01-3e71-4313-8db8-93b3a0154861 +0cfbe1c7-f421-4bdd-bfec-7e911734b120 +0d49500e-d916-4acb-94f4-39f24631ba32 +0d56c741-99fe-46c3-ac08-94d4ea181bea +0d99bc6e-de2f-42d6-ae2b-94a513653c18 +0d9c1820-fec9-4417-bef8-05dfe93e6ace +0db6ce11-13f8-4115-bf53-a427ab9873b5 +0dba3aa5-8cbf-4e5b-a2f7-a89a64e2a0e9 +0dc6e590-1032-4595-a4fc-03e39f124061 +0e1c80dd-329b-49e9-bf59-cc8c088bd1ad +0e3cea58-74d6-4924-ac8d-aa05ad28098d +0e671f4d-2b9a-411f-94c5-26af38be1abd +0e76d428-b0f5-4cea-ad19-41f87bbdafe1 +0e97a938-c8e4-4ae7-8c44-b2c9144642d3 +0eb3e881-951a-490c-922d-0f58b1180467 +0edf9bce-c6ee-4c28-bb11-dd2731dd4090 +0eff50b6-21dc-42db-a760-52ed81a53883 +0f197e9e-c1be-4892-821b-0466ea21b1f6 +0f203bf6-e0d2-4b96-a10c-bd60639d6e44 +0f43abde-8225-4f8f-a617-4c3a08d794f3 +0f9b0c36-fa01-41c8-86aa-fb7bd09a58b4 +0fcd9c32-8c07-4000-a007-42931b799d70 +0fe2fe4e-59c7-42b7-96b1-c9dd9dc9e74f +10121383-3843-4f29-9ac3-63d51855d297
[22/50] [abbrv] kylin git commit: KYLIN-2195 All code changes, ready for test
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/source-hive/src/test/java/org/apache/kylin/source/hive/HiveCmdBuilderTest.java -- diff --git a/source-hive/src/test/java/org/apache/kylin/source/hive/HiveCmdBuilderTest.java b/source-hive/src/test/java/org/apache/kylin/source/hive/HiveCmdBuilderTest.java index da0c082..0eb02b4 100644 --- a/source-hive/src/test/java/org/apache/kylin/source/hive/HiveCmdBuilderTest.java +++ b/source-hive/src/test/java/org/apache/kylin/source/hive/HiveCmdBuilderTest.java @@ -40,13 +40,13 @@ public class HiveCmdBuilderTest { @After public void after() throws Exception { -System.clearProperty("kylin.hive.client"); -System.clearProperty("kylin.hive.beeline.params"); +System.clearProperty("kylin.source.hive.client"); +System.clearProperty("kylin.source.hive.beeline-params"); } @Test public void testHiveCLI() { -System.setProperty("kylin.hive.client", "cli"); +System.setProperty("kylin.source.hive.client", "cli"); HiveCmdBuilder hiveCmdBuilder = new HiveCmdBuilder(); hiveCmdBuilder.addStatement("USE default;"); @@ -59,8 +59,8 @@ public class HiveCmdBuilderTest { @Test public void testBeeline() throws IOException { String lineSeparator = java.security.AccessController.doPrivileged(new sun.security.action.GetPropertyAction("line.separator")); -System.setProperty("kylin.hive.client", "beeline"); -System.setProperty("kylin.hive.beeline.params", "-u jdbc_url"); +System.setProperty("kylin.source.hive.client", "beeline"); +System.setProperty("kylin.source.hive.beeline-params", "-u jdbc_url"); HiveCmdBuilder hiveCmdBuilder = new HiveCmdBuilder(); hiveCmdBuilder.addStatement("USE default;"); http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/source-kafka/src/main/java/org/apache/kylin/source/kafka/hadoop/KafkaFlatTableJob.java -- diff --git a/source-kafka/src/main/java/org/apache/kylin/source/kafka/hadoop/KafkaFlatTableJob.java b/source-kafka/src/main/java/org/apache/kylin/source/kafka/hadoop/KafkaFlatTableJob.java index 3033bfd..f4d54c5 100644 --- a/source-kafka/src/main/java/org/apache/kylin/source/kafka/hadoop/KafkaFlatTableJob.java +++ b/source-kafka/src/main/java/org/apache/kylin/source/kafka/hadoop/KafkaFlatTableJob.java @@ -1,164 +1,164 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.kylin.source.kafka.hadoop; - -import org.apache.kylin.job.engine.JobEngineConfig; -import org.apache.kylin.source.kafka.util.KafkaClient; -import org.apache.commons.cli.Options; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.io.Text; -import org.apache.hadoop.mapreduce.Job; -import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; -import org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat; -import org.apache.hadoop.util.ToolRunner; -import org.apache.kylin.common.KylinConfig; -import org.apache.kylin.cube.CubeInstance; -import org.apache.kylin.cube.CubeManager; -import org.apache.kylin.cube.CubeSegment; -import org.apache.kylin.engine.mr.common.AbstractHadoopJob; -import org.apache.kylin.engine.mr.common.BatchConstants; -import org.apache.kylin.source.kafka.KafkaConfigManager; -import org.apache.kylin.source.kafka.config.KafkaConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import java.util.Collections; -import java.util.Map; - -/** - * Run a Hadoop Job to process the stream data in kafka; - * Modified from the kafka-hadoop-loader in https://github.com/amient/kafka-hadoop-loader - */ -public class KafkaFlatTableJob extends AbstractHadoopJob { -protected static final Logger logger = LoggerFactory.getLogger(KafkaFlatTableJob.class); - -public static final String CONFIG_KAFKA_PARITION_MIN = "kafka.partition.min"; -public static final String CONFIG_KAFKA_PARITION_MAX = "kafka.partition.max"; -public static final String CONFIG_KAFKA_PARITION_START = "kafka.partition.start."; -public static
[01/50] [abbrv] kylin git commit: encoding add filter by column type
Repository: kylin Updated Branches: refs/heads/KYLIN-1875 cfa3d0d43 -> dbbbae227 encoding add filter by column type Signed-off-by: Hongbin MaProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/8132cab3 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/8132cab3 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/8132cab3 Branch: refs/heads/KYLIN-1875 Commit: 8132cab31fc084cf6b83ab29884e6821d86bf249 Parents: 12221a3 Author: luguosheng <550175...@qq.com> Authored: Sat Nov 19 16:49:41 2016 +0800 Committer: Hongbin Ma Committed: Tue Nov 22 14:00:12 2016 +0800 -- webapp/app/js/controllers/cubeEdit.js | 51 +++--- webapp/app/js/controllers/cubeMeasures.js | 33 + webapp/app/js/utils/utils.js | 21 --- 3 files changed, 70 insertions(+), 35 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/8132cab3/webapp/app/js/controllers/cubeEdit.js -- diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js index a663d6f..9e2a3c9 100755 --- a/webapp/app/js/controllers/cubeEdit.js +++ b/webapp/app/js/controllers/cubeEdit.js @@ -77,33 +77,40 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio },function(e){ $scope.store.supportedEncoding = $scope.cubeConfig.encodings; }) - + $scope.createFilter=function(type){ + if(type.indexOf("varchar")<=0){ + return ['fixed_length_hex']; + }else if(type!="date"){ + return ['date']; + }else if(type!="time"&!="datetime"&!="timestamp"){ + return ['time']; + }else{ + return []; + } + } $scope.getEncodings =function (name){ -var type = TableModel.columnNameTypeMap[name]||''; -var encodings =[]; -for(var k=0;k<$scope.store.supportedEncoding.length;k++){ - encodings.push($scope.store.supportedEncoding[k]); -} +var filterName=name; +var type = TableModel.columnNameTypeMap[filterName]||''; +var encodings =$scope.store.supportedEncoding,filterEncoding; +var filerList=$scope.createFilter(type); if($scope.isEdit){ - for(var s=0;s<$scope.cubeMetaFrame.rowkey.rowkey_columns.length;s++){ -if(name==$scope.cubeMetaFrame.rowkey.rowkey_columns[s].column){ - var version=$scope.cubeMetaFrame.rowkey.rowkey_columns[s].encoding_version; - encodings=VdmUtil.changeObjectListValueByFilter(encodings,'value',$scope.cubeMetaFrame.rowkey.rowkey_columns[s].encoding.replace(/:\d+/,"")+(version?"[v"+version+"]":"[v1]"),'suggest',true) + if($scope.cubeMetaFrame.rowkey.rowkey_columns&){ +for(var s=0;s<$scope.cubeMetaFrame.rowkey.rowkey_columns.length;s++){ + if(filterName==$scope.cubeMetaFrame.rowkey.rowkey_columns[s].column){ +var version=$scope.cubeMetaFrame.rowkey.rowkey_columns[s].encoding_version; + filterEncoding=VdmUtil.getFilterObjectListByOrFilterVal(encodings,'value',$scope.cubeMetaFrame.rowkey.rowkey_columns[s].encoding.replace(/:\d+/,"")+(version?"[v"+version+"]":"[v1]"),'suggest',true) + } } + }else{ + filterEncoding=VdmUtil.getFilterObjectListByOrFilterVal(encodings,'suggest',true); } +}else{ + filterEncoding=VdmUtil.getFilterObjectListByOrFilterVal(encodings,'suggest',true); } -//if(type.indexOf("varchar")!==-1){ -// filterEncodings=VdmUtil.getObjectListByFilterVal(encodings,'baseValue',['fixed_length_hex','fixed_length'],'suggest',true); -//} -//else if(type=="date"){ -//filterEncodings = VdmUtil.getObjectListByFilterVal(encodings, 'baseValue', 'date','suggest',true); -//}else if(type=="time"||type=="datetime"||type=="timestamp"){ -//filterEncodings = VdmUtil.getObjectListByFilterVal(encodings, 'baseValue', 'time','suggest',true); -//}else{ -encodings=VdmUtil.getObjectListByFilterVal(encodings, '', '','suggest',true); -//} - -return encodings; +for(var f=0;f
[49/50] [abbrv] kylin git commit: KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance'
http://git-wip-us.apache.org/repos/asf/kylin/blob/dbbbae22/examples/sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv -- diff --git a/examples/sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv b/examples/sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv new file mode 100644 index 000..253afbf --- /dev/null +++ b/examples/sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv @@ -0,0 +1,1 @@ +1000,1,4,FR,N/A +1001,0,1,DE,N/A +1002,0,1,IT,N/A +1003,4,2,DE,N/A +1004,2,3,JP,N/A +1005,0,1,CN,N/A +1006,2,3,JP,N/A +1007,0,2,GB,N/A +1008,5,3,US,N/A +1009,1,3,US,N/A +1010,1,1,IT,N/A +1011,2,4,FR,N/A +1012,3,1,CN,N/A +1013,1,1,FR,N/A +1014,5,3,CN,N/A +1015,3,5,IT,N/A +1016,4,5,JP,N/A +1017,3,4,US,N/A +1018,0,5,CN,N/A +1019,4,4,GB,N/A +1020,4,4,IT,N/A +1021,1,2,FR,N/A +1022,2,2,DE,N/A +1023,0,1,GB,N/A +1024,3,4,IT,N/A +1025,4,4,JP,N/A +1026,5,4,IT,N/A +1027,2,4,FR,N/A +1028,2,2,GB,N/A +1029,1,1,GB,N/A +1030,5,5,CN,N/A +1031,4,2,CN,N/A +1032,1,3,CN,N/A +1033,2,1,JP,N/A +1034,2,1,JP,N/A +1035,4,2,US,N/A +1036,5,4,DE,N/A +1037,2,4,DE,N/A +1038,1,3,US,N/A +1039,3,5,US,N/A +1040,2,3,GB,N/A +1041,1,5,IT,N/A +1042,5,5,CN,N/A +1043,5,1,IT,N/A +1044,3,4,IT,N/A +1045,1,3,US,N/A +1046,3,3,JP,N/A +1047,2,2,FR,N/A +1048,5,4,JP,N/A +1049,3,1,JP,N/A +1050,3,5,JP,N/A +1051,5,1,US,N/A +1052,3,5,DE,N/A +1053,1,3,JP,N/A +1054,5,1,GB,N/A +1055,2,1,GB,N/A +1056,2,3,CN,N/A +1057,1,5,US,N/A +1058,2,2,CN,N/A +1059,2,4,FR,N/A +1060,0,3,FR,N/A +1061,0,5,FR,N/A +1062,1,1,US,N/A +1063,4,5,DE,N/A +1064,2,5,GB,N/A +1065,0,3,GB,N/A +1066,1,1,IT,N/A +1067,0,2,GB,N/A +1068,4,1,IT,N/A +1069,0,4,FR,N/A +1070,3,4,CN,N/A +1071,3,5,GB,N/A +1072,4,3,CN,N/A +1073,0,4,IT,N/A +1074,5,3,GB,N/A +1075,0,4,JP,N/A +1076,2,5,JP,N/A +1077,0,3,CN,N/A +1078,4,3,GB,N/A +1079,4,5,US,N/A +1080,4,2,JP,N/A +1081,5,2,CN,N/A +1082,4,1,JP,N/A +1083,0,4,GB,N/A +1084,1,4,DE,N/A +1085,4,4,FR,N/A +1086,2,5,JP,N/A +1087,0,1,IT,N/A +1088,0,2,FR,N/A +1089,3,2,DE,N/A +1090,5,2,IT,N/A +1091,0,3,GB,N/A +1092,1,4,DE,N/A +1093,2,1,IT,N/A +1094,4,3,JP,N/A +1095,1,1,DE,N/A +1096,0,5,JP,N/A +1097,3,3,CN,N/A +1098,5,3,JP,N/A +1099,3,1,GB,N/A +1100,5,1,CN,N/A +1101,2,3,JP,N/A +1102,5,1,IT,N/A +1103,5,2,GB,N/A +1104,3,5,GB,N/A +1105,3,1,DE,N/A +1106,3,5,GB,N/A +1107,5,3,DE,N/A +1108,4,1,CN,N/A +1109,4,3,GB,N/A +1110,4,1,FR,N/A +1111,3,5,FR,N/A +1112,1,1,GB,N/A +1113,5,4,FR,N/A +1114,2,2,DE,N/A +1115,4,3,GB,N/A +1116,0,3,FR,N/A +1117,1,4,CN,N/A +1118,4,4,IT,N/A +1119,0,2,CN,N/A +1120,5,2,DE,N/A +1121,0,2,GB,N/A +1122,4,3,CN,N/A +1123,1,4,FR,N/A +1124,0,2,CN,N/A +1125,4,5,US,N/A +1126,0,4,GB,N/A +1127,4,3,CN,N/A +1128,4,3,GB,N/A +1129,1,4,JP,N/A +1130,2,2,JP,N/A +1131,0,3,IT,N/A +1132,4,1,GB,N/A +1133,1,5,US,N/A +1134,3,3,DE,N/A +1135,3,2,IT,N/A +1136,2,2,JP,N/A +1137,0,3,CN,N/A +1138,3,1,FR,N/A +1139,2,3,FR,N/A +1140,3,1,IT,N/A +1141,0,3,US,N/A +1142,3,4,FR,N/A +1143,4,5,DE,N/A +1144,3,3,JP,N/A +1145,5,5,DE,N/A +1146,2,5,FR,N/A +1147,0,5,IT,N/A +1148,2,5,US,N/A +1149,0,3,CN,N/A +1150,2,2,GB,N/A +1151,5,5,CN,N/A +1152,2,2,IT,N/A +1153,3,2,FR,N/A +1154,5,4,FR,N/A +1155,3,5,FR,N/A +1156,5,2,GB,N/A +1157,1,2,IT,N/A +1158,3,3,JP,N/A +1159,5,1,IT,N/A +1160,3,4,CN,N/A +1161,2,5,IT,N/A +1162,4,5,CN,N/A +1163,3,5,FR,N/A +1164,1,2,FR,N/A +1165,0,3,GB,N/A +1166,5,4,CN,N/A +1167,4,5,IT,N/A +1168,3,2,IT,N/A +1169,3,2,DE,N/A +1170,2,2,DE,N/A +1171,3,1,IT,N/A +1172,3,1,IT,N/A +1173,3,5,CN,N/A +1174,5,2,US,N/A +1175,2,3,FR,N/A +1176,5,5,JP,N/A +1177,1,4,DE,N/A +1178,4,5,GB,N/A +1179,5,3,FR,N/A +1180,2,3,GB,N/A +1181,0,3,IT,N/A +1182,3,2,JP,N/A +1183,5,5,IT,N/A +1184,4,1,IT,N/A +1185,3,2,IT,N/A +1186,3,2,CN,N/A +1187,2,5,IT,N/A +1188,3,2,JP,N/A +1189,4,4,IT,N/A +1190,4,3,GB,N/A +1191,3,4,JP,N/A +1192,2,2,FR,N/A +1193,5,1,FR,N/A +1194,5,2,US,N/A +1195,2,5,FR,N/A +1196,1,2,FR,N/A +1197,5,3,FR,N/A +1198,1,4,GB,N/A +1199,1,3,FR,N/A +1200,4,5,IT,N/A +1201,3,1,GB,N/A +1202,0,3,GB,N/A +1203,4,3,DE,N/A +1204,4,2,GB,N/A +1205,4,2,DE,N/A +1206,5,2,GB,N/A +1207,1,5,DE,N/A +1208,4,5,GB,N/A +1209,0,3,FR,N/A +1210,1,5,FR,N/A +1211,3,2,DE,N/A +1212,5,1,JP,N/A +1213,0,4,CN,N/A +1214,3,1,JP,N/A +1215,5,1,CN,N/A +1216,4,2,FR,N/A
[29/50] [abbrv] kylin git commit: KYLIN-2195 All code changes, ready for test
KYLIN-2195 All code changes, ready for test Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/826f23f1 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/826f23f1 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/826f23f1 Branch: refs/heads/KYLIN-1875 Commit: 826f23f14f60ba068b8594ba312c14e66c4807f2 Parents: 1ec1ffc Author: Li YangAuthored: Wed Nov 23 11:49:20 2016 +0800 Committer: Li Yang Committed: Wed Nov 23 17:08:29 2016 +0800 -- build/bin/check-env.sh |2 +- build/bin/find-hive-dependency.sh |4 +- build/bin/sample.sh |8 +- build/conf/kylin.properties | 94 +- .../common/BackwardCompatibilityConfig.java | 21 +- .../apache/kylin/common/KylinConfigBase.java| 272 ++--- .../common/persistence/JsonSerializer.java | 94 +- .../kylin/common/persistence/Serializer.java| 70 +- .../common/persistence/StorageException.java| 76 +- .../kylin/common/restclient/RestClient.java | 222 ++-- .../org/apache/kylin/common/util/Array.java | 164 +-- .../org/apache/kylin/common/util/ByteArray.java | 492 - .../kylin/common/util/BytesSerializer.java | 70 +- .../apache/kylin/common/util/BytesSplitter.java | 250 ++--- .../kylin/common/util/CliCommandExecutor.java | 298 ++--- .../apache/kylin/common/util/MailService.java |2 +- .../apache/kylin/common/util/ShardingHash.java | 134 +-- .../kylin-backward-compatibility.properties | 358 +++--- .../apache/kylin/common/KylinConfigTest.java|2 +- .../kylin/common/util/MailServiceTest.java |2 +- .../cube/common/FuzzyValueCombination.java | 260 ++--- .../org/apache/kylin/cube/cuboid/CuboidCLI.java | 286 ++--- .../org/apache/kylin/cube/kv/RowConstants.java | 94 +- .../apache/kylin/cube/kv/RowKeyColumnIO.java| 126 +-- .../apache/kylin/cube/kv/RowKeyColumnOrder.java | 216 ++-- .../org/apache/kylin/cube/model/CubeDesc.java |2 +- .../apache/kylin/cube/model/RowKeyColDesc.java | 322 +++--- .../kylin/cube/model/v1_4_0/RowKeyColDesc.java | 184 ++-- .../cube/model/validation/IValidatorRule.java | 54 +- .../cube/model/validation/ResultLevel.java | 76 +- .../cube/model/validation/ValidateContext.java | 200 ++-- .../validation/rule/AggregationGroupRule.java | 400 +++ .../model/validation/rule/FunctionRule.java | 404 +++ .../model/validation/rule/RowKeyAttrRule.java | 110 +- .../validation/rule/StreamingCubeRule.java | 158 +-- .../kylin/cube/AggregationGroupRuleTest.java| 244 ++--- .../org/apache/kylin/cube/CubeDescTest.java |6 +- .../apache/kylin/cube/CubeManagerCacheTest.java | 156 +-- .../apache/kylin/cube/RowKeyAttrRuleTest.java | 120 +-- .../metadata/measure/MeasureCodecTest.java | 182 ++-- .../kylin/dict/DictionaryInfoSerializer.java| 160 +-- .../kylin/dict/TrieDictionaryBuilder.java | 1020 +- .../kylin/dict/lookup/LookupStringTable.java| 220 ++-- .../apache/kylin/dict/lookup/LookupTable.java | 356 +++--- .../kylin/dict/lookup/SnapshotManager.java | 370 +++ .../apache/kylin/dict/lookup/SnapshotTable.java | 570 +- .../dict/lookup/SnapshotTableSerializer.java| 158 +-- .../kylin/dict/AppendTrieDictionaryTest.java|2 +- .../impl/threadpool/DistributedScheduler.java |6 +- .../kylin/metadata/MetadataConstants.java | 104 +- .../kylin/metadata/cachesync/Broadcaster.java |2 +- .../kylin/metadata/model/JoinTableDesc.java | 124 +-- .../org/apache/kylin/metadata/tuple/ITuple.java | 86 +- .../apache/kylin/storage/StorageContext.java|2 +- .../translate/DerivedFilterTranslator.java | 400 +++ .../translate/FuzzyValueCombination.java| 264 ++--- .../apache/kylin/engine/mr/DFSFileTable.java| 198 ++-- .../kylin/engine/mr/DFSFileTableReader.java | 504 - .../engine/mr/steps/FactDistinctColumnsJob.java | 318 +++--- .../apache/kylin/engine/mr/TableReaderTest.java | 92 +- .../test_case_data/localmeta/kylin.properties | 52 +- .../test_case_data/localmeta/kylin_job_conf.xml | 134 +-- examples/test_case_data/sandbox/hive-site.xml |6 +- .../test_case_data/sandbox/kylin.properties | 64 +- .../test_case_data/sandbox/kylin_job_conf.xml | 156 +-- .../sandbox/kylin_job_conf_inmem.xml| 182 ++-- .../resources/org-apache-kylin-jdbc.properties | 54 +- .../kylin/job/BaseTestDistributedScheduler.java |4 +- .../kylin/provision/BuildCubeWithEngine.java|2 +- .../apache/kylin/query/ITKylinQueryTest.java|4 +- kylin-it/src/test/resources/logging.properties | 44 +- .../aggregate/DimCountDistinctAggFuncTest.java |4
[14/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/fdc2/FactDistinctColumnsReducer2.java -- diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/fdc2/FactDistinctColumnsReducer2.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/fdc2/FactDistinctColumnsReducer2.java deleted file mode 100644 index b5aeef6..000 --- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/steps/fdc2/FactDistinctColumnsReducer2.java +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.engine.mr.steps.fdc2; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import org.apache.commons.io.IOUtils; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FSDataOutputStream; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.io.NullWritable; -import org.apache.hadoop.io.Text; -import org.apache.kylin.common.KylinConfig; -import org.apache.kylin.common.util.ByteArray; -import org.apache.kylin.common.util.Bytes; -import org.apache.kylin.cube.CubeInstance; -import org.apache.kylin.cube.CubeManager; -import org.apache.kylin.cube.model.CubeDesc; -import org.apache.kylin.engine.mr.KylinReducer; -import org.apache.kylin.engine.mr.common.AbstractHadoopJob; -import org.apache.kylin.engine.mr.common.BatchConstants; -import org.apache.kylin.engine.mr.common.CubeStatsWriter; -import org.apache.kylin.measure.hllc.HyperLogLogPlusCounter; -import org.apache.kylin.metadata.model.TblColRef; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import java.nio.ByteBuffer; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; - -/** - */ -public class FactDistinctColumnsReducer2 extends KylinReducer{ - -private List columnList; -private String statisticsOutput = null; -private List baseCuboidRowCountInMappers; -protected Map cuboidHLLMap = null; -protected long baseCuboidId; -protected CubeDesc cubeDesc; -private long totalRowsBeforeMerge = 0; -private int samplingPercentage; -private List colValues; -private TblColRef col = null; -private boolean isStatistics = false; -private boolean isPartitionCol = false; -private KylinConfig cubeConfig; -protected static final Logger logger = LoggerFactory.getLogger(FactDistinctColumnsReducer2.class); - -@Override -protected void setup(Context context) throws IOException { -super.bindCurrentConfiguration(context.getConfiguration()); - -Configuration conf = context.getConfiguration(); -KylinConfig config = AbstractHadoopJob.loadKylinPropsAndMetadata(); -String cubeName = conf.get(BatchConstants.CFG_CUBE_NAME); -CubeInstance cube = CubeManager.getInstance(config).getCube(cubeName); -cubeConfig = cube.getConfig(); -cubeDesc = cube.getDescriptor(); -columnList = CubeManager.getInstance(config).getAllDictColumnsOnFact(cubeDesc); - -boolean collectStatistics = Boolean.parseBoolean(conf.get(BatchConstants.CFG_STATISTICS_ENABLED)); -int numberOfTasks = context.getNumReduceTasks(); -int taskId = context.getTaskAttemptID().getTaskID().getId(); - -if (collectStatistics && (taskId == numberOfTasks - 1)) { -// hll -isStatistics = true; -statisticsOutput = conf.get(BatchConstants.CFG_STATISTICS_OUTPUT); -baseCuboidRowCountInMappers = Lists.newArrayList(); -cuboidHLLMap = Maps.newHashMap(); -samplingPercentage = Integer.parseInt(context.getConfiguration().get(BatchConstants.CFG_STATISTICS_SAMPLING_PERCENT)); -} else if (collectStatistics && (taskId == numberOfTasks - 2)) { -// partition col -isStatistics = false; -isPartitionCol = true; -col =
[45/50] [abbrv] kylin git commit: KYLIN-2217 add saveDictionary() on CubeManager & DictionaryManager
KYLIN-2217 add saveDictionary() on CubeManager & DictionaryManager Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ff2d79c4 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ff2d79c4 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ff2d79c4 Branch: refs/heads/KYLIN-1875 Commit: ff2d79c4e032ef243e584730738e5ba2d12ed5c0 Parents: 25f0819 Author: Li YangAuthored: Thu Nov 24 17:24:57 2016 +0800 Committer: Yang Li Committed: Sat Nov 26 13:02:17 2016 +0800 -- .../java/org/apache/kylin/cube/CubeManager.java | 29 ++--- .../kylin/cube/cli/DictionaryGeneratorCLI.java | 34 +- .../org/apache/kylin/cube/util/CubingUtils.java | 2 +- .../org/apache/kylin/dict/DictionaryInfo.java | 5 ++ .../apache/kylin/dict/DictionaryManager.java| 65 +--- .../engine/mr/steps/MergeCuboidMapperTest.java | 2 +- .../kylin/cube/ITDictionaryManagerTest.java | 6 +- 7 files changed, 93 insertions(+), 50 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/ff2d79c4/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java index 307bb46..ea8ff81 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java @@ -48,7 +48,6 @@ import org.apache.kylin.cube.model.DictionaryDesc; import org.apache.kylin.cube.model.DimensionDesc; import org.apache.kylin.dict.DictionaryInfo; import org.apache.kylin.dict.DictionaryManager; -import org.apache.kylin.dict.DistinctColumnValuesProvider; import org.apache.kylin.dict.lookup.LookupStringTable; import org.apache.kylin.dict.lookup.SnapshotManager; import org.apache.kylin.dict.lookup.SnapshotTable; @@ -214,25 +213,39 @@ public class CubeManager implements IRealizationProvider { return result; } -public DictionaryInfo buildDictionary(CubeSegment cubeSeg, TblColRef col, DistinctColumnValuesProvider factTableValueProvider) throws IOException { +public DictionaryInfo buildDictionary(CubeSegment cubeSeg, TblColRef col, ReadableTable inpTable) throws IOException { CubeDesc cubeDesc = cubeSeg.getCubeDesc(); if (!cubeDesc.getAllColumnsNeedDictionaryBuilt().contains(col)) return null; -DictionaryManager dictMgr = getDictionaryManager(); String builderClass = cubeDesc.getDictionaryBuilderClass(col); -DictionaryInfo dictInfo = dictMgr.buildDictionary(cubeDesc.getModel(), col, factTableValueProvider, builderClass); +DictionaryInfo dictInfo = getDictionaryManager().buildDictionary(cubeDesc.getModel(), col, inpTable, builderClass); +saveDictionaryInfo(cubeSeg, col, dictInfo); +return dictInfo; +} + +public DictionaryInfo saveDictionary(CubeSegment cubeSeg, TblColRef col, ReadableTable inpTable, Dictionary dict) throws IOException { +CubeDesc cubeDesc = cubeSeg.getCubeDesc(); +if (!cubeDesc.getAllColumnsNeedDictionaryBuilt().contains(col)) +return null; + +DictionaryInfo dictInfo = getDictionaryManager().saveDictionary(cubeDesc.getModel(), col, inpTable, dict); + +saveDictionaryInfo(cubeSeg, col, dictInfo); +return dictInfo; +} + +private void saveDictionaryInfo(CubeSegment cubeSeg, TblColRef col, DictionaryInfo dictInfo) throws IOException { if (dictInfo != null) { Dictionary dict = dictInfo.getDictionaryObject(); cubeSeg.putDictResPath(col, dictInfo.getResourcePath()); cubeSeg.getRowkeyStats().add(new Object[] { col.getName(), dict.getSize(), dict.getSizeOfId() }); -CubeUpdate cubeBuilder = new CubeUpdate(cubeSeg.getCubeInstance()); -cubeBuilder.setToUpdateSegs(cubeSeg); -updateCube(cubeBuilder); +CubeUpdate update = new CubeUpdate(cubeSeg.getCubeInstance()); +update.setToUpdateSegs(cubeSeg); +updateCube(update); } -return dictInfo; } /** http://git-wip-us.apache.org/repos/asf/kylin/blob/ff2d79c4/core-cube/src/main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java b/core-cube/src/main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java index 89e2e9b..a6aeb96 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/cli/DictionaryGeneratorCLI.java +++
[12/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/engine-mr/src/test/resources/multi_file_double/data_3 -- diff --git a/engine-mr/src/test/resources/multi_file_double/data_3 b/engine-mr/src/test/resources/multi_file_double/data_3 new file mode 100644 index 000..816bd32 --- /dev/null +++ b/engine-mr/src/test/resources/multi_file_double/data_3 @@ -0,0 +1,1947 @@ +0.52 +2.08 +4.16 +12.993 +15.071 +19.2399988 +23.384 +23.9199984 +26.5199982 +27.039998 +28.079998 +28.58 +29.639998 +31.178 +34.836 +36.406 +37.440001 +42.120004 +43.680005 +45.760006 +46.2800065 +47.8400074 +49.920009 +52.52001 +56.680013 +62.400016 +63.960017 +66.560016 +74.88001 +77.480008 +79.040006 +81.640004 +89.439998 +93.55 +94.119995 +95.159994 +96.13 +98.279992 +102.439988 +109.719983 +110.239982 +111.799981 +118.039976 +118.559976 +119.079976 +121.679974 +125.83997 +127.919969 +131.559975 +132.599977 +141.439994 +143.519998 +146.120003 +147.680006 +149.24001 +150.800013 +155.480022 +158.600028 +159.12003 +162.240035 +164.84004 +166.400043 +167.960046 +169.48 +174.200059 +176.280063 +182.74 +189.80009 +191.360092 +193.960097 +198.120106 +205.40012 +207.480124 +208.520126 +211.12013 +212.160133 +214.760138 +222.560154 +223.600156 +225.68016 +231.40017 +232.440173 +234.520177 +235.56018 +245.4402 +253.240214 +256.880216 +261.0402 +263.120194 +264.16019 +265.200186 +267.80018 +268.320176 +268.840174 +273.00016 +274.040156 +279.24014 +279.760136 +281.84013 +282.360126 +282.880125 +283.92012 +284.96012 +289.1201 +293.28009 +295.36008 +296.920075 +298.48007 +299.520066 +305.240046 +307.84004 +308.360035 +316.680006 +319.75 +320.83999 +324.8 +325.519975 +328.119966 +328.639965 +329.15996 +337.3 +340.59992 +348.919894 +350.999886 +351.519884 +352.03988 +359.31986 +362.439846 +365.03984 +365.559835 +367.63983 +368.159826 +369.19982 +370.75982 +371.279815 +372.31981 +372.83981 +374.9198 +380.119784 +383.239774 +383.75977 +384.27977 +384.79977 +386.87976 +388.959754 +399.879715 +400.399714 +401.43971 +402.479706 +404.5597 +405.079697 +407.67969 +408.199686 +410.799677 +413.39967 +414.439664 +423.79963 +425.879624 +432.6396 +436.27959 +439.399577 +440.439573 +442.519566 +445.119557 +447.19955 +450.31954 +452.39953 +452.91953 +457.079515 +459.679506 +462.279497 +465.919484 +466.95948 +469.039473 +474.759453 +475.79945 +476.839446 +477.359444 +478.39944 +479.959435 +484.11942 +485.679415 +486.71941 +489.3194 +490.3594 +491.919393 +492.43939 +493.47939 +496.599377 +499.719366 +502.839355 +503.359353 +503.87935 +504.39935 +504.91935 +507.51934 +510.63933 +525.71928 +527.79927 +531.43926 +535.59924 +542.35922 +544.95921 +549.63919 +551.71918 +552.23918 +554.31918 +555.87917 +556.91917 +558.47916 +560.03916 +560.55915 +569.91912 +573.03911 +582.39908 +584.47907 +584.99907 +586.03906 +586.55906 +588.11906 +589.67905 +590.71905 +597.99902 +600.07902 +605.799 +610.47898 +610.99898 +613.07897 +619.31895 +619.83895 +621.39894 +624.51893 +627.11892 +629.19891 +631.27891 +631.7989 +634.91889
[10/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/engine-mr/src/test/resources/multi_file_str/data_0 -- diff --git a/engine-mr/src/test/resources/multi_file_str/data_0 b/engine-mr/src/test/resources/multi_file_str/data_0 new file mode 100644 index 000..89dd2b3 --- /dev/null +++ b/engine-mr/src/test/resources/multi_file_str/data_0 @@ -0,0 +1,2029 @@ +0018bb26-1649-404d-a8b9-c79a505ed162 +001eb1f5-96f4-4031-92d3-8ecee8286c31 +00464de2-6452-4b42-80c8-7fa9e2e25dab +0080cefc-f819-4679-84be-9a1ec3c254ca +008472d0-dbb0-4a9e-9bbe-a285698f5996 +009a99e8-415e-4a73-a352-4acab798cf80 +00defa41-59cd-4079-a0c4-3bf88fb4d2f7 +0113c6c8-396a-402e-86e6-2cdcb6623be8 +0121d713-0519-4576-9cb6-e58f26d036af +0141bd03-3548-4578-8850-f96f6f4ec27a +01461b14-85ef-4283-8ff8-fc670c6d8e85 +01501d16-ff3c-4fef-a17a-66eaef23878c +01524b01-7839-4022-b04e-74b1928f8fef +0153828e-2028-4dd2-9ff3-7465ecebaac0 +01582c51-a738-4129-be8a-b82d7d6999c2 +01687978-951a-4fea-93a9-990bdaf378ef +0190c832-0f82-4993-8235-6343774d2367 +01a066cb-160c-43d8-88d4-b1f447239040 +01c462fa-5ef0-4ecf-9e2c-fa356f3b83dd +01eedbe6-b246-49e4-8761-86b3b1dea82c +01f0bb43-620f-43f7-b07e-a032eca9d133 +022bc52b-0f8e-4b02-ab04-79012965ec3e +022dd8e1-19e0-4c3d-b9f8-23ce0485af8a +02379ebb-6d16-427c-a4bc-4f7707913ea1 +029b270d-9454-42fe-a7a3-f0c127b89fe9 +02a3f086-dfc3-4c35-827b-ff11f48c068e +02d6d848-f3e1-4ad5-a7d5-4874e963c016 +0308f18d-d796-4745-bf10-46a23be3087b +037c7649-393b-4150-a922-fa6b3488509e +039bc304-4ef4-4480-a347-6f863e6c5d23 +039efd7f-ec8f-4716-bfc0-b254d6e5e88f +03b52c5a-8bb6-4561-ab4d-7d491f8f4838 +03d69ddc-1eb3-4038-8c0c-51eb731db079 +04017bfd-32ad-4040-81aa-aa47206bb94f +042119f5-10f4-4e8d-9626-871b33f063f4 +0428bca6-368d-4d58-babb-306179b2248a +045ea515-b9d4-4738-8422-7c2ea163b328 +0467c216-7639-4c1d-a0a9-39f9a10dff6f +048a183c-a958-47bf-aa45-25336aa5674d +04fc427a-0b86-447c-96e7-8ddd1cc7569e +050e5141-d731-417f-9793-469ed3a38d39 +051ab944-932d-4837-b2a4-363ad0c26e3c +0528565e-7fd0-4dff-b8a9-66ade9691a8d +05329edc-f1ad-43de-b01a-49a4db1f2d27 +058259f2-d7c1-4c54-8ec4-978677d71aa7 +059a0b69-8c64-4598-8dd2-dc72e3ef1d21 +05af50a4-9ff1-4673-9b10-db82732ae512 +05ca0b95-b68a-4076-b14b-de38694ac4d7 +05d28038-94ec-4950-b251-7b28aff6d73c +05f3d13d-be28-4351-ba0f-28d7bf87710b +05f607b9-cc8f-45e7-a7e6-7a8d93a94960 +05fc5cfe-5c0d-46b3-b448-1a7c2be69a33 +06471838--45b8-af74-508742d12ecd +0667a812-bc2e-4a00-845d-64a85bb81503 +0681052c-e3a8-45ae-8f96-f8efcd9891cf +06c59613-09f9-4bff-8bca-0e9e2962ea3e +0719f720-20f5-4a22-8c03-888b03734b1e +071c0fd1-1be3-46bc-8117-a5d4292ffb02 +07857916-cbff-4122-9c4c-da5d7c906c59 +07bca0a0-7405-4c75-98bc-a04dbdce261c +07fe55a6-0071-4d03-b141-d4333d5695eb +081b029d-8023-4825-805e-c9bfdad93ce4 +083fa003-02e9-4e5e-83f1-d7768ffbb539 +0851fcc1-919f-472a-ae79-209bc64371e6 +085233ed-547e-478f-99a4-41b2472b983f +0877cca8-e95b-4e7f-bdfd-c3e8742f8140 +089f14fd-64b4-42a8-9fe1-603b3e3c8093 +090b9228-57c1-4f2d-b3ab-8d4a624c6571 +091cf088-6947-4929-b0da-5f4b401bad13 +092832d1-d672-43e8-9a67-6d46423a94f7 +0929094e-42f7-487f-8b2e-2e175e76ee6f +0946e299-7a4d-402c-9c55-e6638782a23b +09e1f414-5172-4d02-a8a5-86b12ccc5857 +09f6ffb4-a27a-4707-97b8-9364c495fd2c +0a0483d4-11e1-43e8-8633-9ac9987e712a +0a4c6743-0a3f-4cf3-ac50-48ec806f8800 +0a667611-f3aa-4c42-a9a4-388f746abc78 +0a7e409d-63ba-43dd-9651-a8809e625102 +0ab2b943-e09f-4b7a-aa6b-e319b9a4b8a8 +0ae2cead-abb0-4b86-97e3-e43d1dd454b3 +0af4329c-94c1-4a3a-b560-2f964883a88d +0b226411-bb53-4c7a-92fa-1e2d3c7010d9 +0b296ac4-a698-4db8-9d46-5222c157e9fc +0b685786-3b26-46ce-9444-a2ed74eab290 +0c19d519-086d-4c6f-9002-b81cad3996dd +0c1b9859-17dd-4eb6-9dcb-162fba753b94 +0c3d7db2-5636-40d1-b5ed-d61ee557c99b +0c471a75-6aec-4d7e-b728-b3f12596ebd2 +0c601fb1-5fdb-4986-a418-c515b64d6512 +0c6cbddd-c614-4e85-85b7-e9076dc2275f +0c8d46f1-4c53-4ad6-ae5f-6183aa4123ec +0c90f498-281b-4f04-b797-bfacd3f65ea1 +0c98e617-1b53-4402-a3ba-1392ac919113 +0cb95a98-f6b6-4ac9-bacf-3a3238b51e92 +0cda3414-38b1-49c8-9421-071ff259a388 +0ce90e93-4cb6-4d78-b919-fca7b2789534 +0cff1d3d-357c-4b69-877f-61051511915e +0d0d5580-a0c1-4769-bd02-d7344216fbb6 +0d15b496-fb0b-4bdc-a808-03e567a8e8b3 +0d22693e-c76e-486b-9e95-9349a3553397 +0d6940fd-04d3-4464-9f13-6e89b0a0319b +0d7d420c-8fa5-4efc-a146-1e9413ccd460 +0db484e9-d117-4450-8b5b-879b94587ac2 +0dc3e086-529d-4289-ad3c-4fa469940290 +0ded4753-81f4-458e-a661-a664165b0fd4 +0e0624ed-f8fa-4db8-b61d-d43cb0acd1ed +0e26c5d0-b5ae-4304-9c9a-2b25df16c3d5 +0e49a979-46bc-4674-93b7-78ed98e582c1 +0e7af5c9-0c89-42af-b8a7-924897590277 +0e8f53bd-19c7-4fb2-a361-37f3fc47a5a2 +0eaeeb80-7c82-41f1-8a4c-62c77921ad50 +0f28de8f-a5c1-494e-a78e-06ae076ed87d +0f384c24-19b0-4cc0-add2-670891da674f +0f4a19ac-7d34-45da-b59a-11418bc96495 +0f4e9e96-601e-4e98-a0cc-71e20f95fc44 +0fdc6899-06da-4dda-ad00-bb12aa8fcc3c +0ff80635-4ae8-47c0-8802-d3203239c5b2 +10035ab5-e72c-45fc-9a0c-609f89dbda9c +10194e1f-2d29-4106-8b61-187721c543a9 +10316ab9-17bd-4005-8de2-de7315353a8f
[37/50] [abbrv] kylin git commit: KYLIN-2202 code review
KYLIN-2202 code review Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/827205f1 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/827205f1 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/827205f1 Branch: refs/heads/KYLIN-1875 Commit: 827205f17b61d1e1ac9d6af580e04583c1079003 Parents: af3e4fe Author: Li YangAuthored: Thu Nov 24 14:52:33 2016 +0800 Committer: Li Yang Committed: Thu Nov 24 15:18:19 2016 +0800 -- .../validation/rule/DictionaryRuleTest.java | 1 - .../apache/kylin/dict/DictionaryGenerator.java | 7 +- .../apache/kylin/dict/DictionaryManager.java| 4 - .../dict/NumberDictionaryForestBuilder.java | 4 - .../kylin/dict/TrieDictionaryForestBuilder.java | 3 +- .../apache/kylin/engine/mr/DFSFileTable.java| 35 --- .../engine/mr/DFSSingleFileTableReader.java | 218 --- .../apache/kylin/engine/mr/SortedColumn.java| 100 - .../kylin/engine/mr/SortedColumnDFSFile.java| 125 +++ .../engine/mr/SortedColumnDFSFileReader.java| 136 .../kylin/engine/mr/SortedColumnReader.java | 136 .../engine/mr/steps/CreateDictionaryJob.java| 6 +- .../mr/steps/FactDistinctColumnsReducer.java| 3 - .../mr/steps/FactDistinctHiveColumnsMapper.java | 12 +- .../engine/mr/steps/SelfDefineSortableKey.java | 25 ++- .../apache/kylin/engine/mr/steps/TypeFlag.java | 28 --- .../mr/steps/UpdateCubeInfoAfterBuildStep.java | 4 +- .../kylin/engine/mr/SortedColumnReaderTest.java | 167 +++--- .../mr/steps/NumberDictionaryForestTest.java| 1 + .../mr/steps/SelfDefineSortableKeyTest.java | 93 .../kylin/source/hive/HiveTableReader.java | 3 - 21 files changed, 412 insertions(+), 699 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/827205f1/core-cube/src/test/java/org/apache/kylin/cube/model/validation/rule/DictionaryRuleTest.java -- diff --git a/core-cube/src/test/java/org/apache/kylin/cube/model/validation/rule/DictionaryRuleTest.java b/core-cube/src/test/java/org/apache/kylin/cube/model/validation/rule/DictionaryRuleTest.java index 8bd4c88..9b37507 100644 --- a/core-cube/src/test/java/org/apache/kylin/cube/model/validation/rule/DictionaryRuleTest.java +++ b/core-cube/src/test/java/org/apache/kylin/cube/model/validation/rule/DictionaryRuleTest.java @@ -34,7 +34,6 @@ import org.apache.kylin.cube.model.validation.ValidateContext; import org.apache.kylin.dict.GlobalDictionaryBuilder; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; /** http://git-wip-us.apache.org/repos/asf/kylin/blob/827205f1/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java -- diff --git a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java index 20a57ba..810a392 100644 --- a/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java +++ b/core-dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java @@ -135,8 +135,7 @@ public class DictionaryGenerator { private static class StringDictBuilder implements IDictionaryBuilder { @Override public Dictionary build(DictionaryInfo dictInfo, IDictionaryValueEnumerator valueEnumerator, int baseId, int nSamples, ArrayList returnSamples) throws IOException { -int maxTrieSizeInMB = TrieDictionaryForestBuilder.getMaxTrieSizeInMB(); -TrieDictionaryForestBuilder builder = new TrieDictionaryForestBuilder(new StringBytesConverter(), baseId, maxTrieSizeInMB); +TrieDictionaryForestBuilder builder = new TrieDictionaryForestBuilder(new StringBytesConverter(), baseId); String value; while (valueEnumerator.moveNext()) { value = valueEnumerator.current(); @@ -153,9 +152,7 @@ public class DictionaryGenerator { private static class NumberDictBuilder implements IDictionaryBuilder { @Override public Dictionary build(DictionaryInfo dictInfo, IDictionaryValueEnumerator valueEnumerator, int baseId, int nSamples, ArrayList returnSamples) throws IOException { - -int maxTrieSizeInMB = TrieDictionaryForestBuilder.getMaxTrieSizeInMB(); -NumberDictionaryForestBuilder builder = new NumberDictionaryForestBuilder(baseId, maxTrieSizeInMB); +NumberDictionaryForestBuilder builder = new NumberDictionaryForestBuilder(baseId); String value; while (valueEnumerator.moveNext())
[31/50] [abbrv] kylin git commit: KYLIN-2227 rename kylin-log4j.properties to kylin-tools-log4j.properties and move it to global conf folder
KYLIN-2227 rename kylin-log4j.properties to kylin-tools-log4j.properties and move it to global conf folder Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/b8e764d4 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/b8e764d4 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/b8e764d4 Branch: refs/heads/KYLIN-1875 Commit: b8e764d434ab12b9fb7b902ac8dea0d6b792dec5 Parents: 3e4e82f Author: Hongbin MaAuthored: Wed Nov 23 17:46:04 2016 +0800 Committer: Hongbin Ma Committed: Wed Nov 23 18:14:45 2016 +0800 -- build/bin/kylin.sh | 4 +-- build/conf/kylin-tools-log4j.properties | 36 .../src/main/resources/kylin-log4j.properties | 28 --- .../gridtable/AggregationCacheSpillTest.java| 1 - kylin-it/pom.xml| 6 ++-- pom.xml | 2 +- .../java/org/apache/kylin/rest/DebugTomcat.java | 2 +- 7 files changed, 43 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/b8e764d4/build/bin/kylin.sh -- diff --git a/build/bin/kylin.sh b/build/bin/kylin.sh index fff6227..b0627ef 100644 --- a/build/bin/kylin.sh +++ b/build/bin/kylin.sh @@ -151,7 +151,7 @@ then elif [ "$1" = "version" ] then -exec hbase -Dlog4j.configuration=kylin-log4j.properties org.apache.kylin.common.KylinVersion +exec hbase -Dlog4j.configuration=file:${KYLIN_HOME}/conf/kylin-tools-log4j.properties org.apache.kylin.common.KylinVersion exit 0 elif [ "$1" = "diag" ] @@ -170,7 +170,7 @@ then then source ${dir}/setenv-tool.sh fi -exec hbase ${KYLIN_EXTRA_START_OPTS} -Dkylin.hive.dependency=${hive_dependency} -Dkylin.hbase.dependency=${hbase_dependency} -Dlog4j.configuration=kylin-log4j.properties "$@" +exec hbase ${KYLIN_EXTRA_START_OPTS} -Dkylin.hive.dependency=${hive_dependency} -Dkylin.hbase.dependency=${hbase_dependency} -Dlog4j.configuration=file:${KYLIN_HOME}/conf/kylin-tools-log4j.properties "$@" else quit "Usage: 'kylin.sh [-v] start' or 'kylin.sh [-v] stop'" http://git-wip-us.apache.org/repos/asf/kylin/blob/b8e764d4/build/conf/kylin-tools-log4j.properties -- diff --git a/build/conf/kylin-tools-log4j.properties b/build/conf/kylin-tools-log4j.properties new file mode 100644 index 000..0ba7d2e --- /dev/null +++ b/build/conf/kylin-tools-log4j.properties @@ -0,0 +1,36 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + + +# the kylin-tools-log4j.properties is mainly for configuring log properties on kylin tools, including: +# 1. tools launched by kylin.sh script, e.g. DeployCoprocessorCLI +# 2. DebugTomcat +# 3. others +# +# It's called kylin-tools-log4j.properties so that it won't distract users from the other more important log4j config file: kylin-server-log4j.properties +# enable this by -Dlog4j.configuration=kylin-tools-log4j.properties + +log4j.rootLogger=INFO,stdout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %-5p [%t %c{1}:%L]: %m%n + +#log4j.logger.org.apache.hadoop=ERROR +log4j.logger.org.apache.kylin=DEBUG +log4j.logger.org.springframework=WARN http://git-wip-us.apache.org/repos/asf/kylin/blob/b8e764d4/core-common/src/main/resources/kylin-log4j.properties -- diff --git a/core-common/src/main/resources/kylin-log4j.properties b/core-common/src/main/resources/kylin-log4j.properties deleted file mode 100644 index e7201b3..000 --- a/core-common/src/main/resources/kylin-log4j.properties +++ /dev/null @@ -1,28 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file
[50/50] [abbrv] kylin git commit: KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance'
KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance' Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/dbbbae22 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/dbbbae22 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/dbbbae22 Branch: refs/heads/KYLIN-1875 Commit: dbbbae227edd943eb454a42d59d11a042a0655e9 Parents: 5edffa5 Author: Yang LiAuthored: Sun Nov 27 18:26:33 2016 +0800 Committer: Yang Li Committed: Sun Nov 27 18:26:33 2016 +0800 -- build/conf/kylin.properties | 2 +- .../apache/kylin/common/KylinConfigBase.java|11 +- .../kylin/metadata/model/DataModelDesc.java | 3 + .../kylin/metadata/model/MeasureDesc.java | 5 + .../realization/IRealizationConstants.java | 2 +- examples/sample_cube/create_sample_tables.sql |21 +- .../sample_cube/data/DEFAULT.KYLIN_ACCOUNT.csv | 1 + .../sample_cube/data/DEFAULT.KYLIN_SALES.csv| 2 - .../template/cube_desc/kylin_sales_cube.json| 157 +- .../template/model_desc/kylin_sales_model.json |50 +- .../template/table/DEFAULT.KYLIN_ACCOUNT.json |28 + .../template/table/DEFAULT.KYLIN_SALES.json |12 +- .../test_case_data/sandbox/kylin.properties | 2 +- .../apache/kylin/query/relnode/OLAPJoinRel.java |25 +- .../kylin/rest/security/AclHBaseStorage.java| 1 - .../rest/security/RealAclHBaseStorage.java | 5 +- .../apache/kylin/rest/service/QueryService.java | 6 +- .../kylin/storage/hbase/HBaseResourceStore.java | 2 +- .../storage/hbase/util/StorageCleanupJob.java | 2 +- .../apache/kylin/tool/StorageCleanupJob.java| 2 +- 20 files changed, 20246 insertions(+), 10090 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/dbbbae22/build/conf/kylin.properties -- diff --git a/build/conf/kylin.properties b/build/conf/kylin.properties index 1409394..131a725 100644 --- a/build/conf/kylin.properties +++ b/build/conf/kylin.properties @@ -18,7 +18,7 @@ ### METADATA | ENV ### # The metadata store in hbase -kylin.metadata.url=kylin_metadata@hbase +kylin.metadata.url=kylin_default_instance@hbase # Working folder in HDFS, make sure user has the right access to the hdfs directory kylin.env.hdfs-working-dir=/kylin http://git-wip-us.apache.org/repos/asf/kylin/blob/dbbbae22/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index aa5e6e1..7dcc771 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -188,13 +188,12 @@ abstract public class KylinConfigBase implements Serializable { } public String getMetadataUrlPrefix() { -String hbaseMetadataUrl = getMetadataUrl(); -String defaultPrefix = "kylin_metadata"; +String metadataUrl = getMetadataUrl(); +String defaultPrefix = "kylin_default_instance"; -if (org.apache.commons.lang3.StringUtils.containsIgnoreCase(hbaseMetadataUrl, "@hbase")) { -int cut = hbaseMetadataUrl.indexOf('@'); -String tmp = cut < 0 ? defaultPrefix : hbaseMetadataUrl.substring(0, cut); -return tmp; +if (metadataUrl.endsWith("@hbase")) { +int cut = metadataUrl.lastIndexOf('@'); +return metadataUrl.substring(0, cut); } else { return defaultPrefix; } http://git-wip-us.apache.org/repos/asf/kylin/blob/dbbbae22/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java -- diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java index c2de5d6..ff92def 100644 --- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java +++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/DataModelDesc.java @@ -378,6 +378,9 @@ public class DataModelDesc extends RootPersistentEntity { for (int i = 0; i < pks.length; i++) { TblColRef col = dimTable.getColumn(pks[i]); if (col == null) { +col = findColumn(pks[i]); +} +if (col == null || col.getTableRef().equals(dimTable) == false) {
[27/50] [abbrv] kylin git commit: KYLIN-2195 All code changes, ready for test
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java b/core-cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java index b3facd2..fbb93db 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java @@ -1,63 +1,63 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.cube.kv; - -import org.apache.kylin.common.util.Dictionary; -import org.apache.kylin.dimension.DictionaryDimEnc; -import org.apache.kylin.dimension.DimensionEncoding; -import org.apache.kylin.dimension.IDimensionEncodingMap; -import org.apache.kylin.metadata.model.TblColRef; - -/** - * Read/Write column values from/into bytes - * - * @author yangli9 - */ -public class RowKeyColumnIO { - -//private static final Logger logger = LoggerFactory.getLogger(RowKeyColumnIO.class); - -private final IDimensionEncodingMap dimEncMap; - -public RowKeyColumnIO(IDimensionEncodingMap dimEncMap) { -this.dimEncMap = dimEncMap; -} - -public int getColumnLength(TblColRef col) { -return dimEncMap.get(col).getLengthOfEncoding(); -} - -public Dictionary getDictionary(TblColRef col) { -return dimEncMap.getDictionary(col); -} - -public void writeColumn(TblColRef col, String value, int roundingFlag, byte defaultValue, byte[] output, int outputOffset) { -DimensionEncoding dimEnc = dimEncMap.get(col); -if (dimEnc instanceof DictionaryDimEnc) -dimEnc = ((DictionaryDimEnc) dimEnc).copy(roundingFlag, defaultValue); - -dimEnc.encode(value, output, outputOffset); -} - -public String readColumnString(TblColRef col, byte[] bytes, int offset, int length) { -DimensionEncoding dimEnc = dimEncMap.get(col); -return dimEnc.decode(bytes, offset, length); -} - -} +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +package org.apache.kylin.cube.kv; + +import org.apache.kylin.common.util.Dictionary; +import org.apache.kylin.dimension.DictionaryDimEnc; +import org.apache.kylin.dimension.DimensionEncoding; +import org.apache.kylin.dimension.IDimensionEncodingMap; +import org.apache.kylin.metadata.model.TblColRef; + +/** + * Read/Write column values from/into bytes + * + * @author yangli9 + */ +public class RowKeyColumnIO { + +//private static final Logger logger = LoggerFactory.getLogger(RowKeyColumnIO.class); + +private final IDimensionEncodingMap dimEncMap; + +public RowKeyColumnIO(IDimensionEncodingMap dimEncMap) { +this.dimEncMap = dimEncMap; +} + +public int getColumnLength(TblColRef col) { +return dimEncMap.get(col).getLengthOfEncoding(); +} + +public Dictionary getDictionary(TblColRef col) { +return dimEncMap.getDictionary(col); +} + +public void writeColumn(TblColRef col, String value, int roundingFlag, byte defaultValue, byte[] output, int outputOffset) { +DimensionEncoding dimEnc = dimEncMap.get(col); +if (dimEnc instanceof DictionaryDimEnc) +dimEnc = ((DictionaryDimEnc) dimEnc).copy(roundingFlag, defaultValue); + +dimEnc.encode(value, output, outputOffset); +} + +public
[16/50] [abbrv] kylin git commit: float data format func bug
float data format func bug Signed-off-by: shaofengshiProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/c8dfa13e Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/c8dfa13e Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/c8dfa13e Branch: refs/heads/KYLIN-1875 Commit: c8dfa13e633517bbfde7125ce286429f643e5af6 Parents: 2b7fe61 Author: luguosheng <550175...@qq.com> Authored: Tue Nov 22 18:50:52 2016 +0800 Committer: shaofengshi Committed: Tue Nov 22 21:43:54 2016 +0800 -- webapp/app/js/utils/utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/c8dfa13e/webapp/app/js/utils/utils.js -- diff --git a/webapp/app/js/utils/utils.js b/webapp/app/js/utils/utils.js index aabcad5..9da6196 100644 --- a/webapp/app/js/utils/utils.js +++ b/webapp/app/js/utils/utils.js @@ -67,7 +67,7 @@ KylinApp.factory('VdmUtil', function ($modal, $timeout, $location, $anchorScroll SCToFloat:function(data){ var resultValue = ""; - if (data.indexOf('E') != -1){ + if (data&('E') != -1){ var regExp = new RegExp('^((\\d+.?\\d+)[Ee]{1}(\\d+))$', 'ig'); var result = regExp.exec(data); var power = "";
[19/50] [abbrv] kylin git commit: KYLIN-2195 Move backward-compatibility properties to common resources
KYLIN-2195 Move backward-compatibility properties to common resources Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/53b5a275 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/53b5a275 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/53b5a275 Branch: refs/heads/KYLIN-1875 Commit: 53b5a2752bfb282445572e2dbabe6cee93cf404c Parents: 747337a Author: Yang LiAuthored: Wed Nov 23 08:23:02 2016 +0800 Committer: Yang Li Committed: Wed Nov 23 08:23:22 2016 +0800 -- .../common/BackwardCompatibilityConfig.java | 128 ++--- .../kylin-backward-compatibility.properties | 186 +++ .../apache/kylin/common/KylinConfigTest.java| 15 +- .../kylin-backward-compatibility.properties | 186 --- 4 files changed, 291 insertions(+), 224 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/53b5a275/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java b/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java index 93c834e..0239af0 100644 --- a/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java +++ b/core-common/src/main/java/org/apache/kylin/common/BackwardCompatibilityConfig.java @@ -18,13 +18,15 @@ package org.apache.kylin.common; +import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.io.PrintWriter; import java.util.LinkedHashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Properties; -import java.util.Set; +import java.util.Stack; import org.apache.commons.io.IOUtils; import org.slf4j.Logger; @@ -35,23 +37,29 @@ import com.google.common.collect.Maps; public class BackwardCompatibilityConfig { private static final Logger logger = LoggerFactory.getLogger(BackwardCompatibilityConfig.class); - + +private static final String KYLIN_BACKWARD_COMPATIBILITY = "kylin-backward-compatibility"; + private final Map old2new = Maps.newConcurrentMap(); - +private final Map old2newPrefix = Maps.newConcurrentMap(); + public BackwardCompatibilityConfig() { -InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("kylin-backward-compatibility.properties"); -init(is); +ClassLoader loader = Thread.currentThread().getContextClassLoader(); +init(loader.getResourceAsStream(KYLIN_BACKWARD_COMPATIBILITY + ".properties")); +for (int i = 0; i < 10; i++) { +init(loader.getResourceAsStream(KYLIN_BACKWARD_COMPATIBILITY + (i) + ".properties")); +} } - + // for test BackwardCompatibilityConfig(InputStream is) { init(is); } - + private void init(InputStream is) { if (is == null) return; - + Properties props = new Properties(); try { props.load(is); @@ -60,50 +68,116 @@ public class BackwardCompatibilityConfig { } finally { IOUtils.closeQuietly(is); } - + for (Entry
[28/50] [abbrv] kylin git commit: KYLIN-2195 All code changes, ready for test
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/core-common/src/main/java/org/apache/kylin/common/util/ByteArray.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/util/ByteArray.java b/core-common/src/main/java/org/apache/kylin/common/util/ByteArray.java index db02f34..db9fc80 100644 --- a/core-common/src/main/java/org/apache/kylin/common/util/ByteArray.java +++ b/core-common/src/main/java/org/apache/kylin/common/util/ByteArray.java @@ -1,246 +1,246 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.common.util; - -import java.io.Serializable; -import java.nio.ByteBuffer; - -/** - * @author yangli9 - */ -public class ByteArray implements Comparable, Serializable { - -private static final long serialVersionUID = 1L; - -public static final ByteArray EMPTY = new ImmutableByteArray(); - -public static ByteArray allocate(int length) { -return new ByteArray(new byte[length]); -} - -public static ByteArray copyOf(byte[] array, int offset, int length) { -byte[] space = new byte[length]; -System.arraycopy(array, offset, space, 0, length); -return new ByteArray(space, 0, length); -} - -// - -private byte[] data; -private int offset; -private int length; - -public ByteArray() { -this(null, 0, 0); -} - -public ByteArray(int capacity) { -this(new byte[capacity], 0, capacity); -} - -public ByteArray(byte[] data) { -this(data, 0, data == null ? 0 : data.length); -} - -public ByteArray(byte[] data, int offset, int length) { -this.data = data; -this.offset = offset; -this.length = length; -} - -public byte[] array() { -return data; -} - -public int offset() { -return offset; -} - -public int length() { -return length; -} - -public void set(byte[] array) { -set(array, 0, array.length); -} - -public void set(byte[] array, int offset, int length) { -this.data = array; -this.offset = offset; -this.length = length; -} - -public void set(ByteArray o) { -set(o.data, o.offset, o.length); -} - -public void set(int offset, int length) { -this.offset = offset; -this.length = length; -} - -public void setLength(int length) { -this.length = length; -} - -public ByteArray copy() { -ByteArray copy; -if (data != null) { -copy = new ByteArray(length); -} else { -copy = new ByteArray(null); -} -copy.copyFrom(this); -return copy; -} - -//notice this will have a length header -public void exportData(ByteBuffer out) { -BytesUtil.writeByteArray(this.data, this.offset, this.length, out); -} - -public static ByteArray importData(ByteBuffer in) { -byte[] bytes = BytesUtil.readByteArray(in); -return new ByteArray(bytes); -} - -public void copyFrom(ByteArray other) { -if (other.data != null) { -System.arraycopy(other.array(), other.offset, data, offset, other.length); -} -this.length = other.length; -} - -public ByteBuffer asBuffer() { -if (data == null) -return null; -else if (offset == 0 && length == data.length) -return ByteBuffer.wrap(data); -else -return ByteBuffer.wrap(data, offset, length).slice(); -} - -public byte[] toBytes() { -return Bytes.copy(this.array(), this.offset(), this.length()); -} - -@Override -public int hashCode() { -if (data == null) { -return 0; -} else { -if (length <= Bytes.SIZEOF_LONG && length > 0) { -// to avoid hash collision of byte arrays those are converted from nearby integers/longs, which is the case for kylin dictionary -long value = BytesUtil.readLong(data, offset, length); -return (int) (value ^ (value
[35/50] [abbrv] kylin git commit: minor, refactor AggregationGroup.calculateCuboidCombination()
minor, refactor AggregationGroup.calculateCuboidCombination() Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/873f903f Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/873f903f Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/873f903f Branch: refs/heads/KYLIN-1875 Commit: 873f903f3d95afa2cec5e1d6d3027f1b62f3ec54 Parents: 798f03e Author: Li YangAuthored: Thu Nov 24 13:00:42 2016 +0800 Committer: Li Yang Committed: Thu Nov 24 13:00:42 2016 +0800 -- .../common/util/LocalFileMetadataTestCase.java | 4 +- .../kylin/cube/model/AggregationGroup.java | 88 ++ .../validation/rule/AggregationGroupRule.java | 12 +-- .../kylin/cube/AggregationGroupRuleTest.java| 3 - .../org/apache/kylin/cube/CubeDescTest.java | 97 +--- .../kylin/cube/cuboid/CuboidSchedulerTest.java | 5 +- 6 files changed, 141 insertions(+), 68 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/873f903f/core-common/src/test/java/org/apache/kylin/common/util/LocalFileMetadataTestCase.java -- diff --git a/core-common/src/test/java/org/apache/kylin/common/util/LocalFileMetadataTestCase.java b/core-common/src/test/java/org/apache/kylin/common/util/LocalFileMetadataTestCase.java index d351041..26e1e86 100644 --- a/core-common/src/test/java/org/apache/kylin/common/util/LocalFileMetadataTestCase.java +++ b/core-common/src/test/java/org/apache/kylin/common/util/LocalFileMetadataTestCase.java @@ -46,7 +46,7 @@ public class LocalFileMetadataTestCase extends AbstractKylinTestCase { public static void staticCreateTestMetadata(String testDataFolder) { KylinConfig.destroyInstance(); -String tempTestMetadataUrl = "../examples/test_metadata"; +String tempTestMetadataUrl = LOCALMETA_TEMP_DATA; try { FileUtils.deleteDirectory(new File(tempTestMetadataUrl)); FileUtils.copyDirectory(new File(testDataFolder), new File(tempTestMetadataUrl)); @@ -61,7 +61,7 @@ public class LocalFileMetadataTestCase extends AbstractKylinTestCase { } public static void cleanAfterClass() { -String tempTestMetadataUrl = "../examples/test_metadata"; +String tempTestMetadataUrl = LOCALMETA_TEMP_DATA; try { FileUtils.deleteDirectory(new File(tempTestMetadataUrl)); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/kylin/blob/873f903f/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java -- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java b/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java index ab63c00..12c0574 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/model/AggregationGroup.java @@ -19,9 +19,12 @@ package org.apache.kylin.cube.model; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; +import java.util.TreeSet; -import org.apache.kylin.common.util.StringUtil; import org.apache.kylin.cube.cuboid.Cuboid; import org.apache.kylin.metadata.model.TblColRef; @@ -34,9 +37,9 @@ import com.google.common.collect.Lists; @JsonAutoDetect(fieldVisibility = Visibility.NONE, getterVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE) public class AggregationGroup { public static class HierarchyMask { -public long fullMask;// 0111 -public long[] allMasks;// 0100,0110,0111 -public long[] dims;// 0100,0010,0001 +public long fullMask; // 0111 +public long[] allMasks; // 0100,0110,0111 +public long[] dims; // 0100,0010,0001 } @JsonProperty("includes") @@ -64,7 +67,7 @@ public class AggregationGroup { throw new IllegalStateException("AggregationGroup incomplete"); } -columnNamesToUpperCase(); +normalizeColumnNames(); buildPartialCubeFullMask(rowKeyDesc); buildMandatoryColumnMask(rowKeyDesc); @@ -76,19 +79,41 @@ public class AggregationGroup { } -private void columnNamesToUpperCase() { -StringUtil.toUpperCaseArray(includes, includes); -StringUtil.toUpperCaseArray(selectRule.mandatory_dims, selectRule.mandatory_dims); -if (selectRule.hierarchy_dims != null) { -for (String[] cols : selectRule.hierarchy_dims) { -StringUtil.toUpperCaseArray(cols,
[23/50] [abbrv] kylin git commit: KYLIN-2195 All code changes, ready for test
http://git-wip-us.apache.org/repos/asf/kylin/blob/826f23f1/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java -- diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java index 173c908..67fedbd 100644 --- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java +++ b/engine-mr/src/main/java/org/apache/kylin/engine/mr/DFSFileTableReader.java @@ -1,252 +1,252 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.engine.mr; - -import java.io.BufferedReader; -import java.io.Closeable; -import java.io.EOFException; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringEscapeUtils; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FSDataInputStream; -import org.apache.hadoop.fs.FileStatus; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.io.SequenceFile; -import org.apache.hadoop.io.SequenceFile.Reader; -import org.apache.hadoop.io.Text; -import org.apache.hadoop.io.Writable; -import org.apache.hadoop.util.ReflectionUtils; -import org.apache.kylin.common.util.Bytes; -import org.apache.kylin.common.util.StringSplitter; -import org.apache.kylin.source.ReadableTable.TableReader; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * Tables are typically CSV or SEQ file. - * - * @author yangli9 - */ -public class DFSFileTableReader implements TableReader { - -private static final Logger logger = LoggerFactory.getLogger(DFSFileTableReader.class); -private static final char CSV_QUOTE = '"'; -private static final String[] DETECT_DELIMS = new String[] { "\177", "|", "\t", "," }; - -private String filePath; -private String delim; -private List readerList; - -private String curLine; -private String[] curColumns; -private int expectedColumnNumber = -1; // helps delimiter detection - -public DFSFileTableReader(String filePath, int expectedColumnNumber) throws IOException { -this(filePath, DFSFileTable.DELIM_AUTO, expectedColumnNumber); -} - -public DFSFileTableReader(String filePath, String delim, int expectedColumnNumber) throws IOException { -filePath = HadoopUtil.fixWindowsPath(filePath); -this.filePath = filePath; -this.delim = delim; -this.expectedColumnNumber = expectedColumnNumber; -this.readerList = new ArrayList(); - -FileSystem fs = HadoopUtil.getFileSystem(filePath); - -ArrayList allFiles = new ArrayList<>(); -FileStatus status = fs.getFileStatus(new Path(filePath)); -if (status.isFile()) { -allFiles.add(status); -} else { -FileStatus[] listStatus = fs.listStatus(new Path(filePath)); -allFiles.addAll(Arrays.asList(listStatus)); -} - -try { -for (FileStatus f : allFiles) { -RowReader rowReader = new SeqRowReader(HadoopUtil.getCurrentConfiguration(), fs, f.getPath().toString()); -this.readerList.add(rowReader); -} -} catch (IOException e) { -if (isExceptionSayingNotSeqFile(e) == false) -throw e; - -this.readerList = new ArrayList(); -for (FileStatus f : allFiles) { -RowReader rowReader = new CsvRowReader(fs, f.getPath().toString()); -this.readerList.add(rowReader); -} -} -} - -private boolean isExceptionSayingNotSeqFile(IOException e) { -if (e.getMessage() != null && e.getMessage().contains("not a SequenceFile")) -return true; - -if (e instanceof EOFException) // in case the file is very very small -return true; - -return false; -} - -@Override -public boolean next() throws IOException { -int curReaderIndex = -1; -
[43/50] [abbrv] kylin git commit: add 1.6.1 to SIGNATURE_INCOMPATIBLE_REVISIONS
add 1.6.1 to SIGNATURE_INCOMPATIBLE_REVISIONS Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/ddc003c8 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/ddc003c8 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/ddc003c8 Branch: refs/heads/KYLIN-1875 Commit: ddc003c860cd4566e4995aa160f89a8d4b93934f Parents: d367bf5 Author: shaofengshiAuthored: Fri Nov 25 18:08:36 2016 +0800 Committer: shaofengshi Committed: Fri Nov 25 18:08:36 2016 +0800 -- core-common/src/main/java/org/apache/kylin/common/KylinVersion.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/ddc003c8/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java b/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java index b7c3804..622c6af 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinVersion.java @@ -86,6 +86,7 @@ public class KylinVersion { */ static { SIGNATURE_INCOMPATIBLE_REVISIONS.add(new KylinVersion("1.5.1")); +SIGNATURE_INCOMPATIBLE_REVISIONS.add(new KylinVersion("1.6.1")); } /**
[05/50] [abbrv] kylin git commit: KYLIN-2195 prepare name mapping
KYLIN-2195 prepare name mapping Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/79cb59cf Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/79cb59cf Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/79cb59cf Branch: refs/heads/KYLIN-1875 Commit: 79cb59cfda2caa9b4a623d2e425c6b3d99ea50db Parents: bce9ab8 Author: Li YangAuthored: Tue Nov 22 18:36:20 2016 +0800 Committer: Li Yang Committed: Tue Nov 22 18:36:32 2016 +0800 -- .../apache/kylin/common/KylinConfigBase.java| 8 - .../kylin-backward-compatibility.properties | 187 ++- 2 files changed, 186 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/79cb59cf/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java -- diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index 3252245..a84ed62 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -785,14 +785,6 @@ abstract public class KylinConfigBase implements Serializable { return Integer.parseInt(getOptional("kylin.enable.scheduler", "0")); } -public String getZookeeperAddress() { -return this.getOptional("kylin.zookeeper.address"); -} - -public String getRestAddress() { -return this.getOptional("kylin.rest.address", "localhost:7070"); -} - private Map convertKeyToInteger(Map map) { Map result = Maps.newLinkedHashMap(); for (Entry entry : map.entrySet()) { http://git-wip-us.apache.org/repos/asf/kylin/blob/79cb59cf/examples/test_case_data/localmeta/kylin-backward-compatibility.properties -- diff --git a/examples/test_case_data/localmeta/kylin-backward-compatibility.properties b/examples/test_case_data/localmeta/kylin-backward-compatibility.properties index 67aef7a..30395df 100644 --- a/examples/test_case_data/localmeta/kylin-backward-compatibility.properties +++ b/examples/test_case_data/localmeta/kylin-backward-compatibility.properties @@ -1 +1,186 @@ -kylin.test.bcc.old.key=kylin.test.bcc.new.key \ No newline at end of file + +### TEST ### + +kylin.test.bcc.old.key=kylin.test.bcc.new.key + + +### ENV ### + +deploy.env=kylin.env +kylin.hdfs.working.dir=kylin.env.hdfs-working-dir + + +### METADATA ### + +kylin.metadata.url=kylin.metadata.url +kylin.realization.providers=kylin.metadata.realization-providers +kylin.cube.dimension.customEncodingFactories=kylin.metadata.custom-dimension-encodings +kylin.cube.measure.customMeasureType.=kylin.metadata.custom-measure-type. + + +### Dictionary ### + +kylin.table.snapshot.max_mb=kylin.snapshot.max-mb +kylin.snapshot.cache.max.entry=kylin.snapshot.max-cache-entry +kylin.dictionary.forest.trie.size.max_mb=kylin.dictionary.forest-trie-max-mb +kylin.dict.cache.max.entry=kylin.dictionary.max-cache-entry +kylin.dict.growing.enabled=kylin.dictionary.growing-enabled +kylin.dict.append.entry.size=kylin.dictionary.append-entry-size +kylin.dict.append.cache.size=kylin.dictionary.append-cache-size + + +### CUBE ### + +kylin.job.cuboid.size.ratio=kylin.cube.size-estimate-ratio +kylin.job.cuboid.size.memhungry.ratio=kylin.cube.size-estimate-memhungry-ratio +kylin.cube.algorithm=kylin.cube.algorithm +kylin.cube.algorithm.auto.threshold=kylin.cube.algorithm.layer-or-inmem-threshold +kylin.cube.algorithm.auto.mapper.limit=kylin.cube.algorithm.inmem-split-limit +kylin.cube.aggrgroup.max.size=kylin.cube.aggrgroup.max-size +kylin.cube.aggrgroup.max.combination=kylin.cube.aggrgroup.max-combination +kylin.cube.aggrgroup.isMandatoryOnlyValid=kylin.cube.aggrgroup.is-mandatory-only-valid +kylin.cube.building.segment.max=kylin.cube.max-building-segments + + +### JOB ### + +kylin.job.log.dir=kylin.job.log-dir +kylin.job.remote.cli.working.dir=kylin.job.remote-cli-working-dir +kylin.job.allow.empty.segment=kylin.job.allow-empty-segment +kylin.job.concurrent.max.limit=kylin.job.max-concurrent-jobs +kylin.job.cubing.inmem.sampling.percent=kylin.job.sampling-percentage +kylin.job.cubing.inmem.sampling.hll.precision=kylin.job.sampling-hll-precision +kylin.job.dependency.filterlist=kylin.job.dependency-filter-list +kylin.job.retry=kylin.job.retry +kylin.job.controller.lock=kylin.job.lock +kylin.scheduler.=kylin.job.scheduler.provider. +kylin.enable.scheduler=kylin.job.scheduler.default + +mail.enabled=kylin.job.notification.enabled +mail.host=kylin.job.notification.mail-host
[21/50] [abbrv] kylin git commit: KYLIN-2195 Rename spring/security related properties
KYLIN-2195 Rename spring/security related properties Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/2cca348c Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/2cca348c Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/2cca348c Branch: refs/heads/KYLIN-1875 Commit: 2cca348c608aa8674572ee6bee53fbf48e40e4df Parents: 826f23f Author: Li YangAuthored: Wed Nov 23 11:55:48 2016 +0800 Committer: Li Yang Committed: Wed Nov 23 17:08:29 2016 +0800 -- build/conf/kylin.properties | 179 --- .../common/BackwardCompatibilityConfig.java | 13 +- .../org/apache/kylin/common/KylinConfig.java| 6 +- .../apache/kylin/common/KylinConfigBase.java| 14 +- .../org/apache/kylin/common/KylinConfigExt.java | 4 +- .../kylin-backward-compatibility.properties | 37 +++- .../apache/kylin/common/KylinConfigTest.java| 18 +- .../test_case_data/localmeta/kylin.properties | 34 ++-- examples/test_case_data/sandbox/hive-site.xml | 6 +- .../test_case_data/sandbox/kylin.properties | 13 +- server/src/main/resources/kylinSecurity.xml | 46 ++--- webapp/app/js/controllers/cubes.js | 2 +- webapp/app/js/services/kylinProperties.js | 8 +- 13 files changed, 193 insertions(+), 187 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/2cca348c/build/conf/kylin.properties -- diff --git a/build/conf/kylin.properties b/build/conf/kylin.properties index 7cdc1c5..1409394 100644 --- a/build/conf/kylin.properties +++ b/build/conf/kylin.properties @@ -15,21 +15,32 @@ # limitations under the License. # -### SERVICE ### +### METADATA | ENV ### + +# The metadata store in hbase +kylin.metadata.url=kylin_metadata@hbase + +# Working folder in HDFS, make sure user has the right access to the hdfs directory +kylin.env.hdfs-working-dir=/kylin + +# DEV|QA|PROD. DEV will turn on some dev features, QA and PROD has no difference in terms of functions. +kylin.env=QA + + +### SERVER | WEB ### # Kylin server mode, valid value [all, query, job] kyin.server.mode=all -# Optional information for the owner of kylin platform, it can be your team's email -# Currently it will be attached to each kylin's htable attribute -kylin.storage.hbase.owner-tag=who...@kylin.apache.org - # List of web servers in use, this enables one web server instance to sync up with other servers. kylin.server.cluster-servers=localhost:7070 # Display timezone on UI,format like[GMT+N or GMT-N] kylin.web.timezone=GMT+8 +kylin.web.cross-domain-enabled=true + + ### SOURCE ### # Hive client, valid value [cli, beeline] @@ -40,16 +51,17 @@ kylin.source.hive.client=cli kylin.source.hive.keep-flat-table=false -### STORAGE ### +# Hive database name for putting the intermediate flat tables +kylin.source.hive.database-for-flat-table=default -# The metadata store in hbase -kylin.metadata.url=kylin_metadata@hbase +# Whether redistribute the intermediate flat table before building +kylin.source.hive.redistribute-flat-table=true -# The storage for final cube file in hbase -kylin.storage.url=hbase -# Working folder in HDFS, make sure user has the right access to the hdfs directory -kylin.env.hdfs-working-dir=/kylin +### STORAGE ### + +# The storage for cube is hbase +kylin.storage.url=hbase # Compression codec for htable, valid value [none, snappy, lzo, gzip, lz4] kylin.storage.hbase.compression-codec=none @@ -68,72 +80,67 @@ kylin.storage.hbase.hfile-size-gb=2 kylin.storage.hbase.min-region-count=1 kylin.storage.hbase.max-region-count=500 -### JOB ### - -# max job retry on error, default 0: no retry -kylin.job.retry=0 +# Optional information for the owner of kylin platform, it can be your team's email +# Currently it will be attached to each kylin's htable attribute +kylin.storage.hbase.owner-tag=who...@kylin.apache.org -# If true, job engine will not assume that hadoop CLI reside on the same server as it self -# you will have to specify kylin.job.remote-cli-hostname, kylin.job.remote-cli-username and kylin.job.remote-cli-password -# It should not be set to "true" unless you're NOT running Kylin.sh on a hadoop client machine -# (Thus kylin instance has to ssh to another real hadoop client machine to execute hbase,hive,hadoop commands) -kylin.job.use-remote-cli=false +kylin.storage.hbase.coprocessor-mem-gb=3 -# Only necessary when kylin.job.use-remote-cli=true -kylin.job.remote-cli-hostname= -kylin.job.remote-cli-port=22 +# The default coprocessor timeout is (hbase.rpc.timeout * 0.9) / 1000 seconds, +# You can set it to a smaller value. 0 means use default. +# kylin.storage.hbase.coprocessor-timeout-seconds=0 -# Only
[13/50] [abbrv] kylin git commit: KYLIN-2202 fix the conflict between KYLIN-1851 and KYLIN-2202. Remove some useless MR files.
http://git-wip-us.apache.org/repos/asf/kylin/blob/2b7fe610/engine-mr/src/test/resources/multi_file_double/data_1 -- diff --git a/engine-mr/src/test/resources/multi_file_double/data_1 b/engine-mr/src/test/resources/multi_file_double/data_1 new file mode 100644 index 000..f3c6d42 --- /dev/null +++ b/engine-mr/src/test/resources/multi_file_double/data_1 @@ -0,0 +1,2093 @@ +1.56 +9.356 +13.512 +14.032 +17.67 +19.7599987 +20.786 +22.3599985 +34.31 +35.36 +39.5200024 +45.240006 +52.1 +57.200013 +61.3600156 +62.9200165 +65.520017 +67.080015 +67.600015 +70.720013 +71.240012 +75.920009 +83.720003 +84.240002 +90.479998 +91.519997 +97.759992 +98.71 +105.039986 +108.159984 +109.199983 +111.279982 +112.319981 +112.83998 +114.399979 +115.959978 +116.479978 +121.159974 +122.719973 +124.799971 +125.319971 +127.39997 +130.519973 +133.119978 +133.63998 +134.67998 +137.799987 +138.83999 +140.919993 +141.959995 +144.04 +145.08 +146.640004 +147.160005 +148.27 +148.720008 +151.320014 +152.360016 +154.44002 +156.520024 +157.040025 +160.680032 +162.760036 +165.880042 +167.440045 +168.480047 +169.52005 +171.600053 +172.120054 +173.160057 +174.72006 +177.320065 +180.960072 +182.520075 +183.040076 +187.200084 +187.720085 +188.760087 +189.280088 +190.32009 +192.920095 +195.0001 +200.72011 +203.320116 +205.92012 +208.000125 +210.08013 +210.60013 +211.640132 +212.680134 +215.80014 +216.320141 +216.840142 +217.360143 +219.440148 +221.520152 +228.280165 +230.36017 +231.920172 +233.480175 +234.000176 +235.040178 +237.640183 +238.680185 +240.240188 +241.800192 +242.320193 +243.360195 +245.9602 +248.560205 +249.080206 +250.64021 +251.68021 +257.400214 +257.92021 +258.96021 +265.720185 +267.28018 +275.08015 +283.40012 +288.080106 +288.600105 +290.6801 +292.24009 +294.320085 +299.7 +303.160054 +310.44003 +312.2 +313.04002 +321.87999 +323.43998 +324.47998 +332.79995 +333.839946 +334.87994 +335.91994 +336.43994 +342.15992 +343.71991 +347.3599 +352.55988 +353.07988 +354.639874 +355.67987 +356.719866 +359.839855 +363.47984 +363.99984 +370.23982 +373.35981 +374.399804 +375.9598 +381.15978 +381.67978 +382.19978 +387.91976 +388.439755 +389.47975 +390.51975 +392.07974 +394.679734 +395.71973 +397.279724 +398.31972 +398.83972 +404.0397 +407.15969 +409.75968 +414.95966 +417.039655 +418.07965 +418.59965 +420.159644 +426.91962 +430.03961 +430.55961 +435.75959 +436.799586 +437.83958 +438.87958 +439.919575 +441.47957 +445.639555 +455.51952 +456.559517 +458.11951 +458.63951 +460.199504 +465.399486 +469.55947 +473.719457 +483.59942 +486.199413 +487.75941 +488.799404 +491.399395 +496.07938 +497.639373 +498.67937 +505.439346 +509.59933 +511.679324 +512.19932 +518.9593 +521.03929 +521.55929 +525.19928 +526.75927 +528.31927 +536.11924 +539.75923 +548.5992 +550.67919 +559.51916 +562.11915 +563.67914 +565.75914 +567.31913 +567.83913 +570.43912 +573.55911 +574.5991 +575.1191 +576.6791 +583.95907 +587.59906 +588.63906 +593.83904 +597.47902 +601.11901 +601.63901 +604.759 +606.83899 +607.87899 +609.43898 +616.71896
[17/50] [abbrv] kylin git commit: KYLIN-2196: enable tomcat parallel class loader
KYLIN-2196: enable tomcat parallel class loader Signed-off-by: shaofengshiProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/657aa31b Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/657aa31b Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/657aa31b Branch: refs/heads/KYLIN-1875 Commit: 657aa31b29b1b22d96c7ef121276ffa60ba9ea5d Parents: c8dfa13 Author: Yiming Liu Authored: Wed Nov 16 13:06:56 2016 +0800 Committer: shaofengshi Committed: Tue Nov 22 22:41:11 2016 +0800 -- .../java/org/apache/kylin/ext/CustomizedWebappClassloader.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/657aa31b/tomcat-ext/src/main/java/org/apache/kylin/ext/CustomizedWebappClassloader.java -- diff --git a/tomcat-ext/src/main/java/org/apache/kylin/ext/CustomizedWebappClassloader.java b/tomcat-ext/src/main/java/org/apache/kylin/ext/CustomizedWebappClassloader.java index d97d583..5116849 100644 --- a/tomcat-ext/src/main/java/org/apache/kylin/ext/CustomizedWebappClassloader.java +++ b/tomcat-ext/src/main/java/org/apache/kylin/ext/CustomizedWebappClassloader.java @@ -18,14 +18,14 @@ package org.apache.kylin.ext; -import org.apache.catalina.loader.WebappClassLoader; +import org.apache.catalina.loader.ParallelWebappClassLoader; /** - * simple extension to standard WebappClassLoader + * simple extension to standard ParallelWebappClassLoader * the only difference is that CustomizedWebappClassloader is able to delegate more packages * to parent classloaders */ -public class CustomizedWebappClassloader extends WebappClassLoader { +public class CustomizedWebappClassloader extends ParallelWebappClassLoader { /** * Set of package names which are not allowed to be loaded from a webapp * class loader without delegating first.
[48/50] [abbrv] kylin git commit: KYLIN-1875 A good snowflake sample data, and rename 'kylin_metadata' to 'kylin_default_instance'
http://git-wip-us.apache.org/repos/asf/kylin/blob/dbbbae22/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv -- diff --git a/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv b/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv index d8158ec..7349b37 100644 --- a/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv +++ b/examples/sample_cube/data/DEFAULT.KYLIN_SALES.csv @@ -1,1 +1,1 @@ -0,2012-12-14,Others,88750,0,11,36.2828,0,1349,US,JP,ANALYST,Beijing -1,2012-08-28,Others,175750,0,13,23.8563,0,1927,JP,JP,ANALYST,Beijing -2,2012-02-16,ABIN,148324,15,13,88.3418,0,1005,DE,FR,ADMIN,Shanghai -3,2013-10-19,FP-non GTC,37831,0,13,47.3015,0,1209,UK,UK,ANALYST,Beijing -4,2012-10-22,Others,140746,100,11,83.454,0,1154,JP,CN,ADMIN,Shanghai -5,2013-01-25,FP-GTC,16509,0,-99,22.9896,0,1372,DE,UK,ADMIN,Shanghai -6,2013-04-04,Others,963,0,13,88.5907,0,1648,US,JP,MODELER,Hongkong -7,2012-04-11,Others,15687,0,15,88.194,0,1866,US,UK,ADMIN,Shanghai -8,2013-01-19,ABIN,60606,3,13,77.9727,0,1936,FR,CN,MODELER,Hongkong -9,2012-04-30,FP-non GTC,106246,0,14,52.295,0,1047,CN,FR,MODELER,Hongkong -10,2013-02-03,Auction,45333,0,16,56.3584,0,1470,UK,JP,MODELER,Hongkong -11,2012-09-02,FP-GTC,25147,0,-99,15.3553,0,1203,US,UK,ANALYST,Beijing -12,2013-07-30,Others,24760,0,16,25.077,0,1382,CN,JP,ADMIN,Shanghai -13,2012-04-17,Auction,31519,0,16,72.7384,0,1069,CN,JP,ADMIN,Shanghai -14,2013-04-30,FP-GTC,51582,0,15,75.82,0,1085,CN,DE,ANALYST,Beijing -15,2013-03-23,FP-GTC,16509,0,15,8.6653,0,1559,US,FR,MODELER,Hongkong -16,2013-04-01,ABIN,175750,3,16,64.2802,0,1507,JP,CN,MODELER,Hongkong -17,2013-07-12,ABIN,50677,0,-99,24.5987,0,1938,UK,FR,ADMIN,Shanghai -18,2012-04-23,FP-GTC,45333,0,5,72.6553,0,1863,CN,CN,MODELER,Hongkong -19,2012-12-19,ABIN,3838,0,12,87.4142,0,1612,DE,JP,ADMIN,Shanghai -20,2012-08-15,FP-GTC,62179,0,16,67.4238,0,1839,JP,US,MODELER,Hongkong -21,2013-08-22,Auction,1357,0,5,18.36,0,1303,CN,JP,ANALYST,Beijing -22,2013-08-23,ABIN,31519,0,5,67.6344,0,1877,FR,JP,ANALYST,Beijing -23,2013-09-12,FP-GTC,223,0,14,71.7898,0,1848,US,CN,MODELER,Hongkong -24,2012-03-14,FP-GTC,132939,0,15,26.1496,0,1815,JP,DE,MODELER,Hongkong -25,2013-07-13,Others,67703,3,16,83.9661,0,1858,CN,CN,MODELER,Hongkong -26,2013-12-15,FP-non GTC,100847,0,5,34.3451,0,1387,CN,CN,ADMIN,Shanghai -27,2012-08-30,Auction,62179,0,11,21.0496,0,1393,JP,FR,ANALYST,Beijing -28,2013-01-10,FP-GTC,48027,0,13,23.4142,0,1757,FR,FR,MODELER,Hongkong -29,2013-01-25,ABIN,145970,0,5,26.7842,0,1402,DE,CN,ANALYST,Beijing -30,2012-07-05,Auction,48027,0,-99,46.732,0,1972,DE,UK,MODELER,Hongkong -31,2012-11-07,FP-GTC,20213,0,-99,19.727,0,1873,UK,CN,ANALYST,Beijing -32,2013-06-20,ABIN,100847,0,5,76.2783,0,1409,CN,DE,ADMIN,Shanghai -33,2012-10-08,ABIN,26262,0,5,48.7447,0,1029,CN,FR,ADMIN,Shanghai -34,2013-04-30,ABIN,87118,0,15,63.2187,0,1529,FR,DE,ANALYST,Beijing -35,2013-04-24,FP-non GTC,20213,0,16,39.5057,0,1329,JP,FR,ANALYST,Beijing -36,2012-05-13,Others,164261,0,13,84.1246,0,1688,CN,GB,ADMIN,Shanghai -37,2013-08-02,ABIN,31519,0,5,37.1504,0,1905,FR,DE,MODELER,Hongkong -38,2012-04-03,Auction,164261,0,11,92.0974,0,1341,CN,UK,ADMIN,Shanghai -39,2012-09-02,FP-GTC,31519,0,14,87.7829,0,1460,DE,UK,ANALYST,Beijing -40,2013-10-05,ABIN,13987,0,16,74.0719,0,1381,CN,UK,MODELER,Hongkong -41,2012-01-13,FP-GTC,48027,0,15,71.2637,0,1915,UK,CN,ADMIN,Shanghai -42,2013-03-01,Others,13836,0,14,16.7288,0,1953,CN,UK,ADMIN,Shanghai -43,2012-09-12,FP-non GTC,16509,0,5,12.2933,0,1277,FR,CN,MODELER,Hongkong -44,2012-02-07,Auction,45333,0,5,64.977,0,1040,FR,JP,MODELER,Hongkong -45,2013-12-14,FP-non GTC,158798,0,16,72.4413,0,1500,DE,CN,MODELER,Hongkong -46,2013-10-13,Auction,31519,0,5,79.3053,0,1816,CN,JP,MODELER,Hongkong -47,2012-06-11,ABIN,4943,0,5,11.6942,0,1696,US,UK,ANALYST,Beijing -48,2012-10-18,ABIN,80053,0,-99,54.0933,0,1604,FR,JP,MODELER,Hongkong -49,2012-11-03,Auction,20886,0,5,9.8258,0,1764,US,CN,MODELER,Hongkong -50,2012-01-15,Auction,44079,0,14,13.0371,0,1343,CN,US,MODELER,Hongkong -51,2012-07-03,FP-GTC,159184,0,-99,92.5314,0,1724,CN,GB,ADMIN,Shanghai -52,2012-02-16,FP-GTC,314,0,13,49.1825,0,1334,JP,CN,ADMIN,Shanghai -53,2012-06-17,FP-non GTC,31387,3,12,0.6677,0,1603,JP,JP,ANALYST,Beijing -54,2012-07-15,FP-non GTC,32876,0,-99,50.9634,0,1248,CN,UK,ANALYST,Beijing -55,2012-07-24,FP-GTC,150265,15,16,57.5645,0,1653,CN,CN,ADMIN,Shanghai -56,2012-10-06,Auction,145970,0,5,44.3091,0,1082,JP,DE,ADMIN,Shanghai -57,2013-06-14,ABIN,80053,0,5,20.2388,0,1632,JP,UK,MODELER,Hongkong -58,2013-10-10,FP-non GTC,15868,0,11,28.629,0,1523,US,FR,MODELER,Hongkong -59,2012-09-30,ABIN,31673,0,12,75.8658,0,1719,CN,FR,ADMIN,Shanghai -60,2012-04-02,FP-GTC,63861,0,5,25.8748,0,1311,JP,FR,ANALYST,Beijing
[30/50] [abbrv] kylin git commit: KYLIN-2132 Fix missing type check of BIGINT; Add follow-up fix of KYLIN-2121
KYLIN-2132 Fix missing type check of BIGINT; Add follow-up fix of KYLIN-2121 Signed-off-by: lidongsjtuProject: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/3e4e82f0 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/3e4e82f0 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/3e4e82f0 Branch: refs/heads/KYLIN-1875 Commit: 3e4e82f06e1e6f7343d87259d912db3abc8c5a96 Parents: 2cca348 Author: Yifan Zhang Authored: Wed Nov 23 15:51:02 2016 +0800 Committer: lidongsjtu Committed: Wed Nov 23 17:13:35 2016 +0800 -- odbc/Driver/KO_DTYPE.CPP | 1 + odbc/Driver/KO_FETCH.CPP | 9 + 2 files changed, 6 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/kylin/blob/3e4e82f0/odbc/Driver/KO_DTYPE.CPP -- diff --git a/odbc/Driver/KO_DTYPE.CPP b/odbc/Driver/KO_DTYPE.CPP index 851fe70..dc2f3ff 100644 --- a/odbc/Driver/KO_DTYPE.CPP +++ b/odbc/Driver/KO_DTYPE.CPP @@ -82,6 +82,7 @@ eGoodBad _SQLCheckDataType ( Word pDataType ) case SQL_TYPE_TIMESTAMP : case SQL_BIT : case SQL_DEFAULT : +case SQL_BIGINT : case SQL_C_SBIGINT : case SQL_C_UBIGINT : case SQL_C_TINYINT : http://git-wip-us.apache.org/repos/asf/kylin/blob/3e4e82f0/odbc/Driver/KO_FETCH.CPP -- diff --git a/odbc/Driver/KO_FETCH.CPP b/odbc/Driver/KO_FETCH.CPP index 2153f97..07780cf 100644 --- a/odbc/Driver/KO_FETCH.CPP +++ b/odbc/Driver/KO_FETCH.CPP @@ -696,12 +696,13 @@ RETCODE SQL_API SQLPutData ( SQLHSTMT pStmt, RETCODE SQL_API SQLMoreResults ( HSTMT pStmt ) { -__ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLMoreResults called" ) ); - pODBCStmt odbcStmt = ( pODBCStmt )pStmt; - + +__ODBCLOG ( _ODBCLogMsg ( LogLevel_DEBUG, "SQLMoreResults called, stmt handle %d with start-row %d and end-row %d, next handle is %d", +(long) odbcStmt, odbcStmt->CurRowsetStartRowPos, odbcStmt->CurRowsetEndRowPos, (long) odbcStmt -> Next) ); + // check if stmt been released already -if ( ! odbcStmt -> Prepared ) +if (( ! odbcStmt -> Prepared) || ( ! odbcStmt -> Next )) { return SQL_NO_DATA; }