You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2016/07/22 05:23:31 UTC

[1/5] kylin git commit: KYLIN-1912: Fix Beeline build intermediate statement issue

Repository: kylin
Updated Branches:
  refs/heads/v1.5.3-release-rc2 [created] 658839d63


KYLIN-1912: Fix Beeline build intermediate statement issue

Signed-off-by: lidongsjtu <li...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/1c257be0
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/1c257be0
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/1c257be0

Branch: refs/heads/v1.5.3-release-rc2
Commit: 1c257be08f39cf39453efe951ce6abca5f47b218
Parents: 5268c54
Author: Yiming Liu <li...@gmail.com>
Authored: Fri Jul 22 07:48:48 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Fri Jul 22 12:28:22 2016 +0800

----------------------------------------------------------------------
 .../main/java/org/apache/kylin/source/hive/HiveCmdBuilder.java   | 4 ++++
 .../src/main/java/org/apache/kylin/source/hive/HiveMRInput.java  | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/1c257be0/source-hive/src/main/java/org/apache/kylin/source/hive/HiveCmdBuilder.java
----------------------------------------------------------------------
diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveCmdBuilder.java b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveCmdBuilder.java
index 6316b9c..5a5b4e0 100644
--- a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveCmdBuilder.java
+++ b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveCmdBuilder.java
@@ -20,6 +20,7 @@ package org.apache.kylin.source.hive;
 
 import java.io.BufferedWriter;
 import java.io.File;
+import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -78,6 +79,9 @@ public class HiveCmdBuilder {
                 buf.append(tmpHql.getAbsolutePath());
 
                 logger.info("The statements to execute in beeline: \n" + hqlBuf);
+                if (logger.isDebugEnabled()) {
+                    logger.debug("THe SQL to execute in beeline: \n" + IOUtils.toString(new FileReader(tmpHql)));
+                }
             } catch (IOException e) {
                 throw new RuntimeException(e);
             } finally {

http://git-wip-us.apache.org/repos/asf/kylin/blob/1c257be0/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
----------------------------------------------------------------------
diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
index e4492da..5de9a98 100644
--- a/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
+++ b/source-hive/src/main/java/org/apache/kylin/source/hive/HiveMRInput.java
@@ -186,7 +186,7 @@ public class HiveMRInput implements IMRInput {
             StringBuilder hiveInitBuf = new StringBuilder();
             hiveInitBuf.append(JoinedFlatTable.generateHiveSetStatements(conf));
 
-            final String useDatabaseHql = "USE " + conf.getConfig().getHiveDatabaseForIntermediateTable() + ";";
+            final String useDatabaseHql = "USE " + conf.getConfig().getHiveDatabaseForIntermediateTable() + ";\n";
             final String dropTableHql = JoinedFlatTable.generateDropTableStatement(flatTableDesc);
             final String createTableHql = JoinedFlatTable.generateCreateTableStatement(flatTableDesc, JobBuilderSupport.getJobWorkingDir(conf, jobId));
             String insertDataHqls;


[3/5] kylin git commit: KYLIN-1795: fix sample.sh when using beeline

Posted by sh...@apache.org.
KYLIN-1795: fix sample.sh when using beeline

Signed-off-by: shaofengshi <sh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/2ba0478b
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/2ba0478b
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/2ba0478b

Branch: refs/heads/v1.5.3-release-rc2
Commit: 2ba0478b1ade1acbf8640c956e8f3c449b77787f
Parents: cdbdb55
Author: Yiming Liu <li...@gmail.com>
Authored: Fri Jul 22 09:36:24 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Fri Jul 22 12:34:58 2016 +0800

----------------------------------------------------------------------
 build/bin/sample.sh                           | 8 +++++++-
 examples/sample_cube/create_sample_tables.sql | 6 +++---
 2 files changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/2ba0478b/build/bin/sample.sh
----------------------------------------------------------------------
diff --git a/build/bin/sample.sh b/build/bin/sample.sh
index 7cc50c5..9939c62 100644
--- a/build/bin/sample.sh
+++ b/build/bin/sample.sh
@@ -25,6 +25,10 @@ job_jar=`find -L ${KYLIN_HOME}/lib/ -name kylin-job*.jar`
 echo "Going to create sample tables in hive..."
 cd ${KYLIN_HOME}/sample_cube/data
 
+echo "Loading sample data into HDFS tmp path: /tmp/kylin/sample_cube/data"
+hadoop fs -mkdir -p /tmp/kylin/sample_cube/data
+hadoop fs -put * /tmp/kylin/sample_cube/data/
+
 hive_client_mode=`sh ${KYLIN_HOME}/bin/get-properties.sh kylin.hive.client`
 if [ "${hive_client_mode}" == "beeline" ]
 then
@@ -35,6 +39,8 @@ else
 fi
 
 echo "Sample hive tables are created successfully; Going to create sample cube..."
+hadoop fs -rm -r /tmp/kylin/sample_cube
+
 cd ${KYLIN_HOME}
 hbase org.apache.hadoop.util.RunJar ${job_jar} org.apache.kylin.common.persistence.ResourceTool upload ${KYLIN_HOME}/sample_cube/metadata  || { exit 1; }
-echo "Sample cube is created successfully in project 'learn_kylin'; Restart Kylin server or reload the metadata from web UI to see the change."
\ No newline at end of file
+echo "Sample cube is created successfully in project 'learn_kylin'; Restart Kylin server or reload the metadata from web UI to see the change."

http://git-wip-us.apache.org/repos/asf/kylin/blob/2ba0478b/examples/sample_cube/create_sample_tables.sql
----------------------------------------------------------------------
diff --git a/examples/sample_cube/create_sample_tables.sql b/examples/sample_cube/create_sample_tables.sql
index 943c0fa..d83566c 100644
--- a/examples/sample_cube/create_sample_tables.sql
+++ b/examples/sample_cube/create_sample_tables.sql
@@ -185,6 +185,6 @@ TRANS_ID bigint
 ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
 STORED AS TEXTFILE;
 
-LOAD DATA LOCAL INPATH 'DEFAULT.KYLIN_SALES.csv' OVERWRITE INTO TABLE DEFAULT.KYLIN_SALES;
-LOAD DATA LOCAL INPATH 'DEFAULT.KYLIN_CAL_DT.csv' OVERWRITE INTO TABLE DEFAULT.KYLIN_CAL_DT;
-LOAD DATA LOCAL INPATH 'DEFAULT.KYLIN_CATEGORY_GROUPINGS.csv' OVERWRITE INTO TABLE DEFAULT.KYLIN_CATEGORY_GROUPINGS;
\ No newline at end of file
+LOAD DATA INPATH '/tmp/kylin/sample_cube/data/DEFAULT.KYLIN_SALES.csv' OVERWRITE INTO TABLE DEFAULT.KYLIN_SALES;
+LOAD DATA INPATH '/tmp/kylin/sample_cube/data/DEFAULT.KYLIN_CAL_DT.csv' OVERWRITE INTO TABLE DEFAULT.KYLIN_CAL_DT;
+LOAD DATA INPATH '/tmp/kylin/sample_cube/data/DEFAULT.KYLIN_CATEGORY_GROUPINGS.csv' OVERWRITE INTO TABLE DEFAULT.KYLIN_CATEGORY_GROUPINGS;
\ No newline at end of file


[5/5] kylin git commit: KYLIN-1846 minor also shade httpcomponents in jdbc

Posted by sh...@apache.org.
KYLIN-1846 minor also shade httpcomponents in jdbc


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/658839d6
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/658839d6
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/658839d6

Branch: refs/heads/v1.5.3-release-rc2
Commit: 658839d63ccccfd60518a0a4659e7ab96feae22b
Parents: edd528d
Author: gaodayue <ga...@meituan.com>
Authored: Mon Jul 11 10:58:06 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Fri Jul 22 12:38:04 2016 +0800

----------------------------------------------------------------------
 core-common/pom.xml |  4 ----
 jdbc/pom.xml        | 10 ++++------
 2 files changed, 4 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/658839d6/core-common/pom.xml
----------------------------------------------------------------------
diff --git a/core-common/pom.xml b/core-common/pom.xml
index 5d5369f..ca4c7a9 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -65,10 +65,6 @@
             <artifactId>commons-email</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-        </dependency>
-        <dependency>
 	        <groupId>org.apache.httpcomponents</groupId>
 	        <artifactId>httpclient</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/kylin/blob/658839d6/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index deb3b49..a663fb3 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -93,6 +93,10 @@
                                     <shadedPattern>${shadeBase}.com.fasterxml.jackson</shadedPattern>
                                 </relocation>
                                 <relocation>
+                                    <pattern>org.apache.http</pattern>
+                                    <shadedPattern>${shadeBase}.org.apache.http</shadedPattern>
+                                </relocation>
+                                <relocation>
                                     <pattern>org.apache.commons</pattern>
                                     <shadedPattern>${shadeBase}.org.apache.commons</shadedPattern>
                                 </relocation>
@@ -106,12 +110,6 @@
                                         <exclude>META-INF/*.RSA</exclude>
                                     </excludes>
                                 </filter>
-                                <filter>
-                                    <artifact>commons-httpclient:commons-httpclient</artifact>
-                                    <excludes>
-                                        <exclude>META-INF/**</exclude>
-                                    </excludes>
-                                </filter>
                             </filters>
                         </configuration>
                     </execution>


[2/5] kylin git commit: kylin 1788 enable arbitrary mandatory size

Posted by sh...@apache.org.
kylin 1788 enable arbitrary mandatory size

Signed-off-by: shaofengshi <sh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/cdbdb551
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/cdbdb551
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/cdbdb551

Branch: refs/heads/v1.5.3-release-rc2
Commit: cdbdb551403f22bee5e5ea3d96a5592df6eaa5ea
Parents: 1c257be
Author: Cheng Wang <ch...@kyligence.io>
Authored: Wed Jul 20 18:24:53 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Fri Jul 22 12:34:12 2016 +0800

----------------------------------------------------------------------
 .../kylin/cube/model/validation/rule/AggregationGroupRule.java    | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/cdbdb551/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
index ac382e9..958ac2b 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/AggregationGroupRule.java
@@ -110,8 +110,9 @@ public class AggregationGroupRule implements IValidatorRule<CubeDesc> {
             int normalDimSize = normalDims.size();
             int hierarchySize = count(agg.getSelectRule().hierarchy_dims);
             int jointSize = count(agg.getSelectRule().joint_dims);
+            int mandatorySize = mandatoryDims.size() > 0 ? 1 : 0 ;
 
-            if (mandatoryDims.size() + normalDimSize + hierarchySize + jointSize > maxSize) {
+            if ( mandatorySize + normalDimSize + hierarchySize + jointSize > maxSize) {
                 context.addResult(ResultLevel.ERROR, "Aggregation group " + index + " has too many dimensions");
                 continue;
             }


[4/5] kylin git commit: KYLIN-1846 minimize dependencies of JDBC driver

Posted by sh...@apache.org.
KYLIN-1846 minimize dependencies of JDBC driver

Signed-off-by: shaofengshi <sh...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/edd528da
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/edd528da
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/edd528da

Branch: refs/heads/v1.5.3-release-rc2
Commit: edd528dac94a2b68dbf4b71810a21bcdbdce8431
Parents: 2ba0478
Author: gaodayue <ga...@meituan.com>
Authored: Tue Jul 5 10:23:54 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Fri Jul 22 12:37:49 2016 +0800

----------------------------------------------------------------------
 jdbc/pom.xml                                    | 69 +++++++++++++-------
 .../main/java/org/apache/kylin/jdbc/Driver.java |  2 -
 .../java/org/apache/kylin/jdbc/KylinMeta.java   |  6 +-
 .../apache/kylin/jdbc/util/Log4jConfigurer.java | 69 --------------------
 jdbc/src/main/resources/kylin-log4j.properties  | 28 --------
 pom.xml                                         |  5 ++
 6 files changed, 51 insertions(+), 128 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/edd528da/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 3977d85..deb3b49 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -33,15 +33,12 @@
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <shadeBase>org.apache.kylin.jdbc.shaded</shadeBase>
     </properties>
 
     <dependencies>
         <dependency>
             <groupId>org.apache.calcite</groupId>
-            <artifactId>calcite-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.calcite</groupId>
             <artifactId>calcite-avatica</artifactId>
             <exclusions>
                 <exclusion>
@@ -55,22 +52,10 @@
             <artifactId>httpclient</artifactId>
         </dependency>
         <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>jcl-over-slf4j</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-        </dependency>
-        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>
@@ -81,20 +66,54 @@
     <build>
         <plugins>
             <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <configuration>
-                    <descriptorRefs>
-                        <descriptorRef>jar-with-dependencies</descriptorRef>
-                    </descriptorRefs>
-                    <appendAssemblyId>false</appendAssemblyId>
-                </configuration>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>make-assembly</id>
                         <phase>package</phase>
                         <goals>
-                            <goal>single</goal>
+                            <goal>shade</goal>
                         </goals>
+                        <configuration>
+                            <createDependencyReducedPom>false</createDependencyReducedPom>
+                            <artifactSet>
+                                <!-- jackson is already packaged into calcite-avatica.jar. To avoid including jackson
+                                twice, we include calcite-avatica which has jackson and exclude jackson. -->
+                                <excludes>
+                                    <exclude>com.fasterxml.jackson.core:*</exclude>
+                                </excludes>
+                            </artifactSet>
+                            <relocations>
+                                <relocation>
+                                    <pattern>org.apache.calcite</pattern>
+                                    <shadedPattern>${shadeBase}.org.apache.calcite</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>com.fasterxml.jackson</pattern>
+                                    <shadedPattern>${shadeBase}.com.fasterxml.jackson</shadedPattern>
+                                </relocation>
+                                <relocation>
+                                    <pattern>org.apache.commons</pattern>
+                                    <shadedPattern>${shadeBase}.org.apache.commons</shadedPattern>
+                                </relocation>
+                            </relocations>
+                            <filters>
+                                <filter>
+                                    <artifact>*:*</artifact>
+                                    <excludes>
+                                        <exclude>META-INF/*.SF</exclude>
+                                        <exclude>META-INF/*.DSA</exclude>
+                                        <exclude>META-INF/*.RSA</exclude>
+                                    </excludes>
+                                </filter>
+                                <filter>
+                                    <artifact>commons-httpclient:commons-httpclient</artifact>
+                                    <excludes>
+                                        <exclude>META-INF/**</exclude>
+                                    </excludes>
+                                </filter>
+                            </filters>
+                        </configuration>
                     </execution>
                 </executions>
             </plugin>

http://git-wip-us.apache.org/repos/asf/kylin/blob/edd528da/jdbc/src/main/java/org/apache/kylin/jdbc/Driver.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/kylin/jdbc/Driver.java b/jdbc/src/main/java/org/apache/kylin/jdbc/Driver.java
index 7f3c407..f9d840a 100644
--- a/jdbc/src/main/java/org/apache/kylin/jdbc/Driver.java
+++ b/jdbc/src/main/java/org/apache/kylin/jdbc/Driver.java
@@ -25,7 +25,6 @@ import org.apache.calcite.avatica.AvaticaConnection;
 import org.apache.calcite.avatica.DriverVersion;
 import org.apache.calcite.avatica.Meta;
 import org.apache.calcite.avatica.UnregisteredDriver;
-import org.apache.kylin.jdbc.util.Log4jConfigurer;
 
 /**
  * <p>
@@ -73,7 +72,6 @@ public class Driver extends UnregisteredDriver {
     public static final String CONNECT_STRING_PREFIX = "jdbc:kylin:";
     static {
         try {
-            Log4jConfigurer.initLogger();
             DriverManager.registerDriver(new Driver());
         } catch (SQLException e) {
             throw new RuntimeException("Error occurred while registering JDBC driver " + Driver.class.getName() + ": " + e.toString());

http://git-wip-us.apache.org/repos/asf/kylin/blob/edd528da/jdbc/src/main/java/org/apache/kylin/jdbc/KylinMeta.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinMeta.java b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinMeta.java
index fdcc91b..8059dd0 100644
--- a/jdbc/src/main/java/org/apache/kylin/jdbc/KylinMeta.java
+++ b/jdbc/src/main/java/org/apache/kylin/jdbc/KylinMeta.java
@@ -35,8 +35,6 @@ import org.apache.calcite.avatica.NoSuchStatementException;
 import org.apache.calcite.avatica.QueryState;
 import org.apache.calcite.avatica.remote.TypedValue;
 
-import com.google.common.collect.ImmutableList;
-
 /**
  * Implementation of Avatica interface
  */
@@ -64,7 +62,7 @@ public class KylinMeta extends MetaImpl {
     @Override
     public ExecuteResult execute(StatementHandle sh, List<TypedValue> parameterValues, long maxRowCount) throws NoSuchStatementException {
         final MetaResultSet metaResultSet = MetaResultSet.create(sh.connectionId, sh.id, false, sh.signature, null);
-        return new ExecuteResult(ImmutableList.of(metaResultSet));
+        return new ExecuteResult(Collections.singletonList(metaResultSet));
     }
 
     // mimic from CalciteMetaImpl, real execution happens via callback in KylinResultSet.execute()
@@ -78,7 +76,7 @@ public class KylinMeta extends MetaImpl {
             }
             callback.execute();
             final MetaResultSet metaResultSet = MetaResultSet.create(sh.connectionId, sh.id, false, sh.signature, null);
-            return new ExecuteResult(ImmutableList.of(metaResultSet));
+            return new ExecuteResult(Collections.singletonList(metaResultSet));
         } catch (SQLException e) {
             throw new RuntimeException(e);
         }

http://git-wip-us.apache.org/repos/asf/kylin/blob/edd528da/jdbc/src/main/java/org/apache/kylin/jdbc/util/Log4jConfigurer.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/kylin/jdbc/util/Log4jConfigurer.java b/jdbc/src/main/java/org/apache/kylin/jdbc/util/Log4jConfigurer.java
deleted file mode 100644
index d68a46f..0000000
--- a/jdbc/src/main/java/org/apache/kylin/jdbc/util/Log4jConfigurer.java
+++ /dev/null
@@ -1,69 +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.jdbc.util;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Enumeration;
-
-import org.apache.log4j.LogManager;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PropertyConfigurator;
-
-/**
- * Created by dongli on 11/24/15.
- */
-public class Log4jConfigurer {
-    private static boolean INITIALIZED = false;
-
-    public static void initLogger() {
-        if (!INITIALIZED && !isConfigured()) {
-            InputStream is = Log4jConfigurer.class.getClassLoader().getResourceAsStream("kylin-log4j.properties");
-            PropertyConfigurator.configure(is);
-            closeQuietly(is);
-        }
-        INITIALIZED = true;
-    }
-
-    private static boolean isConfigured() {
-        if (LogManager.getRootLogger().getAllAppenders().hasMoreElements()) {
-            return true;
-        } else {
-            Enumeration<?> loggers = LogManager.getCurrentLoggers();
-            while (loggers.hasMoreElements()) {
-                Logger logger = (Logger) loggers.nextElement();
-                if (logger.getAllAppenders().hasMoreElements())
-                    return true;
-            }
-        }
-        return false;
-    }
-
-    public static void closeQuietly(Closeable closeable) {
-        try {
-            if (closeable != null) {
-                closeable.close();
-            }
-        } catch (IOException ioe) {
-            // ignore
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/kylin/blob/edd528da/jdbc/src/main/resources/kylin-log4j.properties
----------------------------------------------------------------------
diff --git a/jdbc/src/main/resources/kylin-log4j.properties b/jdbc/src/main/resources/kylin-log4j.properties
deleted file mode 100644
index e7201b3..0000000
--- a/jdbc/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 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.
-#
-
-# enable this by -Dlog4j.configuration=kylin-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/edd528da/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9f35ed3..94f4e33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -533,6 +533,11 @@
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-shade-plugin</artifactId>
+                    <version>2.4.3</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-war-plugin</artifactId>
                     <version>2.6</version>
                     <configuration>