You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by lu...@apache.org on 2015/06/02 12:25:55 UTC

[01/49] incubator-kylin git commit: add pgp KEYS file

Repository: incubator-kylin
Updated Branches:
  refs/heads/0.7.1 0e6dc3a23 -> d09eae14c


add pgp KEYS file


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

Branch: refs/heads/0.7.1
Commit: c8e5201d8bfdd89c6ddf5e5f11e8227038a7eaa6
Parents: 56608ec
Author: Luke Han <lu...@apache.org>
Authored: Fri May 22 10:57:26 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Fri May 22 10:57:42 2015 +0800

----------------------------------------------------------------------
 KEYS | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 73 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c8e5201d/KEYS
----------------------------------------------------------------------
diff --git a/KEYS b/KEYS
new file mode 100644
index 0000000..d5dedb6
--- /dev/null
+++ b/KEYS
@@ -0,0 +1,73 @@
+This file contains the PGP keys of various developers.
+Please don't use them for email unless you have to. Their main
+purpose is code signing.
+
+Examples of importing this file in your keystore:
+ gpg --import KEYS.txt
+ (need pgp and other examples here)
+
+Examples of adding your key to this file:
+ pgp -kxa <your name> and append it to this file.
+ (pgpk -ll <your name> && pgpk -xa <your name>) >> this file.
+ (gpg --list-sigs <your name>
+     && gpg --armor --export <your name>) >> this file.
+
+-----------------------------------------------------------------------------------
+
+pub   4096R/027DC364 2015-04-10
+uid                  Luke Han <lu...@apache.org>
+sig 3        027DC364 2015-04-10  Luke Han <lu...@apache.org>
+sub   4096R/19BCFD87 2015-04-10
+sig          027DC364 2015-04-10  Luke Han <lu...@apache.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQINBFUno+8BEACxRnKkHFkA/qbYKyidAsMgvgsZZIwONlAoQE+01MKsGPbJU/DR
+zVyzD5nFskaoZ3dLTeQfKP/BJ9qfXpm0zlS4PPHkrbKOeV+SawiiOvSLYCijz6vU
+T1lbgW3yIpMkFp0zpIaZo7BpA2Q9s0qvPeZrDenu1X4IeNrUHs2QInYFDrUpyghw
+BOrt4Yrx7KmtWDPia/Hvbd5nqy9coHZO+HYzBJhXPXK5arbrCDF+NEJFcUI3VlP1
+mPF0LG/SfeVtsjPVo+Ub9HIMlwd6NnzIveSXc5FWIaweQ5ko38TGgKLJ9UXkH5C+
+c/sPOaKVAYIcX5i94BLigjxAQAg15kDr1dX7gPnjQNZdLjMRWiTf4eSN5+rWK+j+
+IeA8QIcVGz7fmhyZ8J/9Gr9TdERvMuhoV/ll8aCGAQU5ApLfgVMIK8kW1vr8dFDh
+x0tnrFZIPcNRg4K9ISR/DEFxYvSkXlxaBudIJiM5itgJ2dgltIIUX5uD8h2gi94A
+4wJfI9m1F2v84lDjv6ve+O3O/P3OPErAKaKjn8w/PHFmGfVAGLkRIV/GQx39gDOf
+QFMoGhqOdLeSIWLodg73HtpZAlVEVZ0+50cHtKqWfQ357Lw3aRJdO/WWrcDZQxut
+lTiULde+vxgwWExpZf98HbpcwFNckA6+m0bwCCc9GEXkDUbPbuvpPvjJOQARAQAB
+tB1MdWtlIEhhbiA8bHVrZWhhbkBhcGFjaGUub3JnPokCOAQTAQIAIgUCVSej7wIb
+AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQoRMvEgJ9w2RoDhAArSo9kHlQ
+e84hP//+4VSccubHudPTX/+GdDcrAa0+QVS+lhnqe47sLsrvY2Hslm77AIZnYDOk
+U76FpKkK4AcMjP+ayLT6KI/ds4k9ca3OvIgj9TYtFczOg2w1dq0sTKx5MXPXJpDL
+o/Ee7Vuk10rKK9796B8keUHfFvexgfIFW39LaIOG0US5sx7IYNMIbpzEknl9dPi/
+/Mxa0+TTbeh+Jj+SkeGOV9SlcT3HWX+oXK3+saV5ChQHR4Db+wh0vhfgixi0YMbJ
+iik0aPeATiLWvccpS3t5mBE5jP+Ss1xeptXaAmXJl9QC3J5lnIMZPhI7ie83agO8
+ZRcffUMfWw/4HJbB6kj9Cs82zIT8Qfz+w+3PyoLvU65IHmY8FxknQX2jg9XFMZ+C
+c9NgJQyAOl2watglEJytjZ9UMfg36Zg0NYUmK+TMJzuMjtPbXgS7EyboMju9cdbS
+1U4AStGFHUUcnw9r7jP9O9w7DtIjo9fdIDsfHkuNf/RMbZ4xAXWF/tbk++NpIjSY
+qBXD2ZRUg+E6QfDvXOabpJ/14cVoYUlcFYeN9MpgDAKh94xmsyyxpnnyCWI3WTBj
+aMT/p7xCCvYJ5XmyyV4zRHpQ/tHuZ/XnNfkeJavCxMXuslf5AyBP64uRB00EksDf
+eMShtxE026rc9XyGf/pb7Ofg1zpbGl+Fhca5Ag0EVSej7wEQAKykheo7Hpq+m5Pl
+NFGPp3Y8kN5hV5XoJLvKgbF4UnSB8/4IXRyLfTO+5F1ePNRiRBGtWAseWKtsN/qj
+dgkc103Ckhl3NX/bH7o7mXsyOUThxAFCz/hzR1ca20H3lv63fB1L6wUD24aZ+m+9
+xf3RqiPNC/OYEvIN0NKeFNzpWWGNTaYcHReKiwwT8VpL0HzI8iu7oJI3Z/8Cmugk
+N39FiR8lJTQspmRzUJerQHqB2E6M0B252DTD7syZZYHOgP56A9V9KsMApQ4mC/qz
+ntdc0wTwLdAejrNs+qaSuIxSXhW9kPPJbazsDnvqEI3oAIU/4Zo+xt/QZpENgZTO
+xEnzIoxby75Qq54vCZSxnVsjJfJv4ZB3DIq0bwEeOK75gcyGAShnxDCzdD0rkvwj
+oyqiGu15bRKW+AiJAll2qs7PCV7sEUFx9pvz9QOx2JYyNKY246koe0j5nUDPY5uU
+NnFdq2x+LpmuT3hZ/ptEhXzgQUEyw0LFGz8sMtkZ8Vk0gbJnv1nVqYVDjfcv9Ggy
+DePBFkIpp/jWEVPWhlgQwYouNHF+W5Rs/r7eKpIwAQMw+aOcmn7BCxLkznZCvodG
+373kIjy5to+hg0tIWiVcirGdCh1ktPxeRrvTkoFd001x8GU+z+E6JGYrIIuTi4JE
+/cEqaV+wuKKqr2cFxxql9RXGYUWhABEBAAGJAh8EGAECAAkFAlUno+8CGwwACgkQ
+oRMvEgJ9w2R2VQ/9FGp/O1F8TYITJWAyOUQONdk8pZriAk+9Oon9DkxhsYdDD1oB
+td43wvFLr5dC7j9wvbnmYDWTlAwbeZYfZSS38YlrAH8/jwsuEtz6ez2faqb4qAz6
+OSGuJv3sp1T4fFUpd/O5KyGej90fmoFygSD7PdY9OEPKCHZpJuVqYMA+IaU2QXyL
+giX4jspR5SJVaJJ+kyB7+IVIVwMqxhDQ0PU4v+7hx+kVyoL7f26P+SvMkPYzM2/w
+HQrWMvuVT1NhPclk9wxdOJL1WJLNoR5U/wtZ/DBIV2gu457AyzuopHB8ye55J3q3
+mbrf24LrCUZxiofh+5GTjlC8EAcs79mAKRXUxVRah4rZovRg5jwCHgMsU0VFBzNH
+fUq0euFIhyW14c8KOhVVCUcsDwONK0EEKJnG+cPhyjrzhdtfEy6StDCvg43PI7/w
+Dodm8LJi7H1yG4LHDKalZ22st2K5DjYJWRBWXUYpCFWxQiOzGq8LdyYL3lQ/lBxt
+ElBcVmy0Qvqf5/r9jVOpZWWvoAhJT0bj5B0Ca3CuGtkiVPJIMc2QuTAItWyRDN7T
+EBG4pxGI2XsApbts0AkkINEYAKN+Z/o9BtrpEvodFPn2TBR3D9zPM+XiSZXTZ/gG
+zJ5Mba6u6w6DZa238CtPdRTMh5ZAGhgkWYCrpQJ+CD9qflqNFzpTQ4FtPg8=
+=YeBe
+-----END PGP PUBLIC KEY BLOCK-----


[10/49] incubator-kylin git commit: update website structure and content

Posted by lu...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md b/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md
new file mode 100644
index 0000000..047f822
--- /dev/null
+++ b/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md	
@@ -0,0 +1,52 @@
+---
+layout: post
+title:  "How to Contribute"
+date:   2014-10-24
+author: liyang-gmt8
+categories: howto
+---
+
+#### Setup Dev Env
+* Join [google group](https://groups.google.com/forum/#!forum/kylin-olap) for general discussion
+* Fork on [GitHub](https://github.com/KylinOLAP)
+* ...
+
+
+#### Making Changes
+* Raise an issue on GitHub, describe the feature/enhancement/bug
+* Discuss with others in google group or issue comments, make sure the proposed changes fit in with what others are doing and have planned for the project
+* Make changes in your fork
+* Write unit test if no existing cover your change
+* Push to GitHub under your fork
+
+
+#### Contribute The Work
+* Raise a pull request on GitHub, include both **code** and **test**, link with **related issue**
+* Committer will review in terms of correctness, performance, design, coding style, test coverage
+* Discuss and revise if necessary
+* Finally committer merge code into main branch
+
+
+#### Wish List
+
+###### Some potential work items
+* Query Engine
+  + Cache generated class, reduce delay into ms level and avoid full GC triggered by perm generation
+  + [Issue #14](https://github.com/KylinOLAP/Kylin/issues/14) Derive meaningful cost in OLAP relational operator
+  + [Issue #15](https://github.com/KylinOLAP/Kylin/issues/15) Implement multi-column distinct count
+* Metadata
+  + [Issue #7](https://github.com/KylinOLAP/Kylin/issues/7) Merge multiple hbase tables
+* Job Engine
+  + [Issue #16](https://github.com/KylinOLAP/Kylin/issues/16) Tune HDFS & HBase parameters
+  + [Issue #17](https://github.com/KylinOLAP/Kylin/issues/17) Increase HDFS block size 1GB or close
+  + Shell command to support kill operation
+  + Use DoubleDouble instead of BigDecimal during cube build
+  + Drop quartz dependency, assess the cost/benefit first
+  + Cardinality run as one step job, allows progress tracking
+* ODBC/JDBC
+  + Test Kylin remote JDBC with java report tools
+  + Implement ODBC async mode, fetching from Kylin and feeding to client in parallel
+* Benchmark
+  + [Issue #18](https://github.com/KylinOLAP/Kylin/issues/18) Benchmark on standard dataset
+
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md b/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md
new file mode 100644
index 0000000..30ef3a3
--- /dev/null
+++ b/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md	
@@ -0,0 +1,54 @@
+---
+layout: post
+title:  "How to install kylin in your Hadoop cluster"
+date:   2014-11-14
+author: xfhap
+categories: howto
+---
+
+## 1 Environment
+We can open the Kylin’ code directory and read the pom.xml, and find some components version:
+
+### 1.1 Install hadoop cluster
+
+{% highlight Groff markup %}
+  <hadoop2.version>2.4.1</hadoop2.version>
+  <hbase-hadoop2.version>0.98.0-hadoop2</hbase-hadoop2.version>
+  <hive.version>0.13.0</hive.version> (ps: install mysql --use mysql to store metastore_db)
+{% endhighlight %}
+
+Attach:
+
+1) When you build the cube and get this error: java.net.ConnectException: to 0.0.0.0:10020 failed on connection exception, you can try to change this file.
+
+config ${hadoop install}/etc/hadoop/mapred-site.xml, and add this code:
+{% highlight Groff markup %}
+  <property>
+    <name>mapreduce.jobhistory.address</name>
+    <value>host:10020</value>
+  </property>
+{% endhighlight %}
+
+Execute this cmd after the configuration:
+$ mr-jobhistory-daemon.sh start historyserver
+
+2) The version of hadoop which Hbase used must be same as the hadoop cluster.
+
+For example:
+
+In Hbase0.98.0-hadoop2 use hadoop 2.2.0, if your hadoop cluster is 2.4.1, then you need to replace all the hadoop jars from 2.2.0 to 2.4.1.
+
+### 1.2	Install other components
+
+Command hadoop, hive, hbase is workable on your hadoop cluster, this step can read this link [https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation](https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation)
+{% highlight Groff markup %}
+  <javaVersion>1.7</javaVersion>
+  Maven
+  Git
+  Tomcat (CATALINA_HOME being set)
+  Npm
+{% endhighlight %}
+
+## 2 Install Kylin
+
+### 2.1	Run the deploy.sh

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2014-12-09-New-meta-data-model-structure.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-12-09-New-meta-data-model-structure.md b/docs/website/_posts/How to/2014-12-09-New-meta-data-model-structure.md
new file mode 100644
index 0000000..8dc0e86
--- /dev/null
+++ b/docs/website/_posts/How to/2014-12-09-New-meta-data-model-structure.md	
@@ -0,0 +1,31 @@
+---
+layout: post
+title:  "New meta data model structure"
+date:   2014-12-09
+author: shaofengshi
+categories: howto
+---
+
+Kylin is doing a round code refactor which will introduce the following two changes on meta data:
+
+* Abstract a "model_desc" layer from "cube_desc"
+
+Before define a cube, user will need firstly define a model ("model_desc"); The model defines which is the fact table, which are lookup tables and how they be joined;
+
+With the model be defined, when user define a cube ("cube_desc"), he/she only need to specify the table/column name for a dimension, as the join conditions have already been defined;
+
+This abstraction is to extend the meta data to fulfill non-cube queries (coming soon);
+
+* Support data tables from multiple hive databases;
+
+User has the case that tables are from multiple hive database, and the table name might be the same; To support this case Kylin will use the database name + table name as the unique name for tables; And user need to specify the database name (if it is not "default") in SQL when query Kylin. 
+
+Here is a sample; the fact table "test_kylin_fact" is from default hive database, you don't need to specify the db name; while lookup table is from "edw", you need use "edw.test_cal_dt" in the query:
+
+{% highlight Groff markup %}
+select test_cal_dt.Week_Beg_Dt, sum(price) as c1, count(1) as c2 
+ from test_kylin_fact
+ inner JOIN edw.test_cal_dt as test_cal_dt
+ ON test_kylin_fact.cal_dt = test_cal_dt.cal_dt 
+ where test_kylin_fact.lstg_format_name='ABIN' 
+{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md b/docs/website/_posts/How to/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md
new file mode 100644
index 0000000..33ad1b7
--- /dev/null
+++ b/docs/website/_posts/How to/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md	
@@ -0,0 +1,23 @@
+---
+layout: post
+title:  "Run Kylin test case with HBase Mini Cluster"
+date:   2015-01-04
+author: shaofengshi
+categories: howto
+---
+
+## Run test case with HBase Mini Cluster
+
+Kylin is moving as many as possible unit test cases from sandbox to HBase mini cluster, so that user can run tests easily in local without a hadoop sandbox; Two maven profiles are created in the root pom.xml, "default" and "sandbox"; The default profile will startup a HBase Mini Cluster to prepare the test data and run the unit tests (the test cases that are not supported by Mini cluster have been added in the "exclude" list); If you want to keep using Sandbox to run test, just run:
+mvn test -P sandbox
+
+
+### When use the "default" profile, Kylin will:
+
+* 	Startup a HBase minicluster and update KylinConfig with the dynamic HBase configurations;
+* 	Create Kylin metadata tables and import six example cube tables;
+* 	Import the hbase data from a tar ball from local: examples/test_case_data/minicluster/hbase-export.tar.gz (the hbase-export.tar.gz will be updated on complete of running BuildCubeWithEngineTest)
+* 	After all test cases be completed, shutdown minicluster and cleanup KylinConfig cache;
+
+### To ensure Mini cluster can run successfully, you need:
+* 	Make sure JAVA_HOME is properly set; 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md b/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md
new file mode 100644
index 0000000..1598945
--- /dev/null
+++ b/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md	
@@ -0,0 +1,49 @@
+---
+layout: post
+title:  "How to consume Kylin REST API in javascript"
+date:   2015-03-03
+author: liyang-gmt8
+categories: howto
+---
+Kypin securicty authorization is based on basic access authorization, so when you want to use API in your javascript,you need to involve the authorization info in http headers.
+
+
+## Here is a demo show how to use Kylin Query API.
+{% highlight Groff markup %}
+$.ajaxSetup({
+      headers: { 'Authorization': "Basic eWFu**********X***ZA==", 'Content-Type': 'application/json;charset=utf-8' } // use your own authorization code here
+    });
+    var request = $.ajax({
+       url: "http://hostname/kylin/api/query",
+       type: "POST",
+       data: '{"sql":"select count(*) from SUMMARY;","offset":0,"limit":50000,"partial":true,"project":"test"}',
+       dataType: "json"
+    });
+    request.done(function( msg ) {
+       alert(msg);
+    }); 
+    request.fail(function( jqXHR, textStatus ) {
+       alert( "Request failed: " + textStatus );
+  });
+
+{% endhighlight %}
+
+
+For what is basic access authorization ,click here [http://en.wikipedia.org/wiki/Basic_access_authentication](http://en.wikipedia.org/wiki/Basic_access_authentication)
+
+## Keypoint:
+1. add basic access authorization info in heders.
+2. use right ajax type and right data synax
+
+How to generate your authorization code (download and import "jquery.base64.js" from [https://github.com/yckart/jquery.base64.js](https://github.com/yckart/jquery.base64.js))
+
+{% highlight Groff markup %}
+var authorizationCode = $.base64('encode', 'NT_USERNAME' + ":" + 'NT_PASSWORD');
+ 
+$.ajaxSetup({
+   headers: { 
+    'Authorization': "Basic " + authorizationCode, 
+    'Content-Type': 'application/json;charset=utf-8' 
+   }
+});
+{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2015-03-05-Kylin-Metadata-Store.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-03-05-Kylin-Metadata-Store.md b/docs/website/_posts/How to/2015-03-05-Kylin-Metadata-Store.md
new file mode 100644
index 0000000..98525b0
--- /dev/null
+++ b/docs/website/_posts/How to/2015-03-05-Kylin-Metadata-Store.md	
@@ -0,0 +1,47 @@
+---
+layout: post
+title:  "Kylin Metadata Store"
+date:   2015-03-05
+author: hongbin ma
+categories: howto
+---
+
+Kylin organizes all of its metadata(including cube descriptions and instances, projects, inverted index description and instances, jobs, tables and dictionaries) as a hierarchy file system. However, Kylin uses hbase to store it, rather than normal file system. If you check your kylin configuration file(kylin.properties) you will find such a line:
+
+{% highlight Groff markup %}
+# The metadata store in hbase
+kylin.metadata.url=kylin_metadata_qa@hbase:sandbox.hortonworks.com:2181:/hbase-unsecure
+{% endhighlight %}
+
+
+This indicates that the metadata will be saved as a htable called `kylin_metadata_qa`. You can scan the htable in hbase shell to check it out.
+
+# Backup Metadata Store
+
+Sometimes you need to backup the Kylin's Metadata Store from hbase to your disk file system.
+In such cases, assuming you're on the hadoop CLI(or sandbox) where you deployed Kylin, you can use:
+
+{% highlight Groff markup %}
+mkdir ~/meta_dump
+
+hbase  org.apache.hadoop.util.RunJar  PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  copy PATH_TO_KYLIN_CONFIG/kylin.properties ~/meta_dump
+{% endhighlight %}
+
+to dump your metadata to your local folder ~/meta_dump.
+
+# Restore Metadata Store
+
+In case you find your metadata store messed up, and you want to restore to a previous backup:
+
+first clean up the metadata store:
+
+{% highlight Groff markup %}
+hbase  org.apache.hadoop.util.RunJar PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  reset 
+{% endhighlight %}
+
+then upload the backup metadata in ~/meta_dump to Kylin's metadata store:
+
+{% highlight Groff markup %}
+hbase  org.apache.hadoop.util.RunJar  PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  copy ~/meta_dump PATH_TO_KYLIN_CONFIG/kylin.properties
+{% endhighlight %}
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md b/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md
new file mode 100644
index 0000000..e58ff10
--- /dev/null
+++ b/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md	
@@ -0,0 +1,93 @@
+---
+layout: post
+title:  "How to use kylin remote jdbc driver"
+date:   2015-03-18
+author: SHAOFENG SHI
+categories: howto
+---
+
+### Authentication
+
+###### Build on kylin authentication restful service. Supported parameters:
+* user : username 
+* password : password
+* ssl: true/false. Default be false; If true, all the services call will use https.
+
+### Connection URL format:
+{% highlight Groff markup %}
+jdbc:kylin://<hostname>:<port>/<kylin_project_name>
+{% endhighlight %}
+* If "ssl" = true, the "port" should be Kylin server's HTTPS port; 
+* If "port" is not specified, the driver will use default port: HTTP 80, HTTPS 443;
+* The "kylin_project_name" must be specified and user need ensure it exists in Kylin server;
+
+### 1. Query with Statement
+{% highlight Groff markup %}
+        Driver driver = (Driver) Class.forName("org.apache.kylin.jdbc.Driver").newInstance();
+
+        Properties info = new Properties();
+        info.put("user", "ADMIN");
+        info.put("password", "KYLIN");
+        Connection conn = driver.connect("jdbc:kylin://localhost:7070/kylin_project_name", info);
+        Statement state = conn.createStatement();
+        ResultSet resultSet = state.executeQuery("select * from test_table");
+
+        while (resultSet.next()) {
+            assertEquals("foo", resultSet.getString(1));
+            assertEquals("bar", resultSet.getString(2));
+            assertEquals("tool", resultSet.getString(3));
+        }
+{% endhighlight %}
+
+### 2. Query with PreparedStatement
+
+###### Supported prepared statement parameters:
+* setString
+* setInt
+* setShort
+* setLong
+* setFloat
+* setDouble
+* setBoolean
+* setByte
+* setDate
+* setTime
+* setTimestamp
+
+{% highlight Groff markup %}
+        Driver driver = (Driver) Class.forName("org.apache.kylin.jdbc.Driver").newInstance();
+        Properties info = new Properties();
+        info.put("user", "ADMIN");
+        info.put("password", "KYLIN");
+        Connection conn = driver.connect("jdbc:kylin://localhost:7070/kylin_project_name", info);
+        PreparedStatement state = conn.prepareStatement("select * from test_table where id=?");
+        state.setInt(1, 10);
+        ResultSet resultSet = state.executeQuery();
+
+        while (resultSet.next()) {
+            assertEquals("foo", resultSet.getString(1));
+            assertEquals("bar", resultSet.getString(2));
+            assertEquals("tool", resultSet.getString(3));
+        }
+{% endhighlight %}
+
+### 3. Get query result metadata
+Kylin jdbc driver supports metadata list methods:
+List catalog, schema, table and column with sql pattern filters(such as %).
+
+{% highlight Groff markup %}
+        Driver driver = (Driver) Class.forName("org.apache.kylin.jdbc.Driver").newInstance();
+        Properties info = new Properties();
+        info.put("user", "ADMIN");
+        info.put("password", "KYLIN");
+        Connection conn = driver.connect("jdbc:kylin://localhost:7070/kylin_project_name", info);
+        Statement state = conn.createStatement();
+        ResultSet resultSet = state.executeQuery("select * from test_table");
+
+        ResultSet tables = conn.getMetaData().getTables(null, null, "dummy", null);
+        while (tables.next()) {
+            for (int i = 0; i < 10; i++) {
+                assertEquals("dummy", tables.getString(i + 1));
+            }
+        }
+{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md b/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md
new file mode 100644
index 0000000..9237035
--- /dev/null
+++ b/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md	
@@ -0,0 +1,25 @@
+---
+layout: post
+title:  "Export Kylin HBase data"
+date:   2015-05-18
+author: SHAOFENG SHI
+categories: howto
+---
+
+Kylin persists all data (meta data and cube) in HBase; You may want to export the data sometimes for whatever purposes (backup, migration, troubleshotting etc); This page describes the steps to do this and also there is a Java app for you to do this easily;
+
+Steps:
+
+1. Cleanup unused cubes to save storage space (be cautious on production!): run the following command in hbase CLI: 
+{% highlight Groff markup %}
+hbase org.apache.hadoop.util.RunJar /${KYLIN_HOME}/lib/kylin-job-(version).jar org.apache.kylin.job.hadoop.cube.StorageCleanupJob --delete true
+{% endhighlight %}
+2. List all HBase tables, iterate and then export each Kylin table to HDFS; See [https://hbase.apache.org/book/ops_mgt.html#export](https://hbase.apache.org/book/ops_mgt.html#export)
+
+3. Copy the export folder from HDFS to local file system, and then archive it;
+
+4. (optional) Download the archive from Hadoop CLI to local;
+
+5. Cleanup the export folder from CLI HDFS and local file system;
+
+Kylin provide the "ExportHBaseData.java" (currently only exist in "minicluster" branch) for you to do the step 2-5 in one run; Please ensure the correct path of "kylin.properties" has been set in the sys env; This Java uses the sandbox config by default;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md b/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md
new file mode 100644
index 0000000..726c11f
--- /dev/null
+++ b/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md
@@ -0,0 +1,44 @@
+---
+layout: post
+title:  "On Hadoop Kylin installation using Docker"
+date:   2014-12-05
+author: abansal
+categories: installation
+---
+
+With help of SequenceIQ, we have put together a fully automated method of creating a Kylin cluster (along with Hadoop, HBase and Hive). The only thing you will need to do is to pull the container from the official Docker repository by using the commands listed below:
+
+### Pre-Requisite
+
+1. Docker (If you don't have Docker installed, follow this [link](https://docs.docker.com/installation/#installation))
+2. Minimum RAM - 4Gb (We'll be running Kylin, Hadoop, HBase & Hive)
+
+### Installation
+{% highlight Groff markup %}
+docker pull sequenceiq/kylin
+{% endhighlight %}
+
+Once the container is pulled you are ready to start playing with Kylin. Get the following helper functions from our Kylin GitHub [repository](https://github.com/sequenceiq/docker-kylin/blob/master/ambari-functions) - _(make sure you source it)._
+
+{% highlight Groff markup %}
+ $ wget https://raw.githubusercontent.com/sequenceiq/docker-kylin/master/ambari-functions
+ $ source ambari-functions
+{% endhighlight %}
+{% highlight Groff markup %}
+ $ kylin-deploy-cluster 3
+{% endhighlight %}
+
+You can specify the number of nodes you'd like to have in your cluster (3 in this case). Once we installed all the necessary Hadoop
+services we'll build Kylin on top of it and then you can reach the UI on: 
+{% highlight Groff markup %}
+#Ambari Dashboard
+http://<container_ip>:8080
+{% endhighlight %}
+Use `admin/admin` to login. Make sure HBase is running. 
+
+{% highlight Groff markup %}
+#Kylin Dashboard
+http://<container_ip>:7070
+{% endhighlight %}
+The default credentials to login are: `ADMIN:KYLIN`. The cluster is pre-populated with sample data and is ready to build cubes as shown [here](https://github.com/KylinOLAP/Kylin/wiki/Kylin-Cube-Creation-Tutorial).
+  

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md b/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md
new file mode 100644
index 0000000..0338b13
--- /dev/null
+++ b/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md
@@ -0,0 +1,37 @@
+---
+layout: post
+title:  "Advance settings of Kylin environment"
+date:   2015-01-22
+author: hongbin ma
+categories: installation
+---
+
+## Enabling LZO compression
+
+LZO compression can be leveraged to compress the output of MR jobs, as well as hbase table storage, reducing the storage overhead. By default we do not enable LZO compression in Kylin because hadoop sandbox venders tend to not include LZO in their distributions due to license(GPL) issues.
+
+To enable LZO in Kylin, there are three steps:
+
+### Make sure LZO is working in your environment
+
+we have a simple tool to test whether LZO is well installed and configured in your environment(we only test it on the hadoop CLI that you deployed Kylin), Just run
+
+{% highlight Groff markup %}
+hbase org.apache.hadoop.util.RunJar kylin-job-latest.jar com.kylinolap.job.tools.LZOSupportnessChecker
+{% endhighlight %}
+
+If the program prints "LZO supported by current env? true", you're good to go. Otherwise you'll need to first install LZO properly.
+
+### Modify kylin_job_conf.xml
+
+You'll need to stop Kylin first by running `./kylin.sh stop`, and then modify /etc/kylin/kylin_job_conf.xml by uncommenting some configuration entries related to LZO compression. 
+
+### export KYLIN_LD_LIBRARY_PATH to carry your native library paths
+
+Before running `./kylin.sh start` again, you'll need to export KYLIN_LD_LIBRARY_PATH to carry your LZO native library paths. If you are not sure where it is, you can simply find it in /tmp/kylin_retrieve.sh, Kylin retrieved this from hbase, normally this should work. Here's an example for hdp 2.1:
+
+{% highlight Groff markup %}
+export KYLIN_LD_LIBRARY_PATH=::/usr/lib/hadoop/lib/native/Linux-amd64-64:/usr/lib/hadoop/lib/native
+{% endhighlight %}
+
+After exporting, you need to run `./kylin.sh start` to start Kylin again. Now Kylin will use LZO to compress MR outputs and hbase tables.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md b/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md
new file mode 100644
index 0000000..ae41465
--- /dev/null
+++ b/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md
@@ -0,0 +1,62 @@
+---
+layout: post
+title:  "Kylin Manual Installation Guide"
+date:   2015-01-22
+author: hongbin ma
+categories: installation
+---
+
+## INTRODUCTION
+
+In most cases our automated script [On-Hadoop-CLI-installation](https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation) can help you launch Kylin in your hadoop sandbox and even your hadoop cluster. However, in case something went wrong in the deploy script, this article comes as an reference guide to fix your issues.
+
+Basically this article explains every step in the automatic script. We assume that you are already very familiar with Hadoop operations on Linux. 
+
+## PREREQUISITES
+* Tomcat installed, with CATALINA_HOME exported. ([quick help](https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation#install-tomcat))
+* Maven installed, with `mvn` command accessible at shell. ([quick help](https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation#install-maven)) 
+* Npm installed, with command `npm` accessible at shell. ([quick help](https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation#install-npm))
+* Kylin git repo cloned to a folder later referenced as $KYLIN_HOME
+
+## STEPS
+
+### 1.Build kylin.war from source code
+
+We have provided a script( $KYLIN_HOME/package.sh ) to help you automate this step. The kylin.war composes of two parts: (Take a look at package.sh to better understand)
+
+* A REST server that accepts cube build requests, queries requests ,etc. This part is purely in Java, and is built by maven.
+* An angular-based web application, this is the real website users see, and it will call the REST APIs in the above REST server. This part is purely html+js, and is built by npm.
+
+Running package.sh will build both parts and combine them to a single kylin.war.
+
+### 2.Customize kylin configuration files 
+
+Kylin's configuration file includes a kylin.properties and a kylin_job_conf.xml for MR job settings. You can find a template for these two configuration files in $KYLIN_HOME/examples/test_case_data/sandbox/. They're almost ready to use, the only thing you need to do is copy them to a configuration folder(we suggest /etc/kylin, if you choose not to use it, you'll replace the "/etc/kylin" with yours in later occurrence) and replace every "sandbox" in kylin.properties with the real hostname of your server.
+
+When you find you cubes's expansion rate too large, you'll need to consider enabling LZO compression by modifying kylin_job_conf.xml, checkout [this chapter ](https://github.com/KylinOLAP/Kylin/wiki/Advance-settings-of-Kylin-environment#enabling-lzo-compression) to find how. For test cubes you can safely ignore this.
+
+### 3. Prepare tomcat
+* Copy $KYLIN_HOME/server/target/kylin.war to $CATALINA_HOME/webapps/, change kylin.war's mode to 644 in case tomcat have no access to it.
+* By default tomcat uses port 8080 as well as several other ports. However, these ports are already occupied in many hadoop sandboxes. For example, port 8080 is used by ambari on hortonworks sandbox. So you need to modify port if necessary. If you're not familiar with this, you can choose to overwrite $CATALINA_HOME/conf/server.xml with $KYLIN_HOME/deploy/server.xml. With our server.xml, kylin will run on port 7070.
+
+### 4. Prepare Jars
+
+There are two jars that Kylin will need to use, there two jars and configured in the default kylin.properties:
+
+####  kylin.job.jar=/tmp/kylin/kylin-job-latest.jar
+
+This is job jar that Kylin uses for MR jobs. You need to copy $KYLIN_HOME/job/target/kylin-job-latest.jar to /tmp/kylin/
+
+#### kylin.coprocessor.local.jar=/tmp/kylin/kylin-coprocessor-latest.jar
+
+This is a hbase coprocessor jar that Kylin will put on hbase. It is used for performance boosting. You need to copy $KYLIN_HOME/storage/target/kylin-coprocessor-latest.jar to /tmp/kylin/
+
+### 5. Start Kylin
+
+Start Kylin with
+
+`./kylin.sh start`
+
+and stop Kylin with
+
+`./Kylin.sh stop`

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md b/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md
new file mode 100644
index 0000000..236c353
--- /dev/null
+++ b/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md
@@ -0,0 +1,96 @@
+---
+layout: post
+title:  "Off Hadoop CLI Installation (Dev Env Setup)"
+date:   2015-02-15
+author: SHAOFENG SHI
+categories: installation
+---
+
+Off-Hadoop-CLI installation is usually for **development use**.
+
+Developers want to run kylin test cases or applications at their development machine. The scenario is depicted at [https://github.com/KylinOLAP/Kylin#off-hadoop-cli-installation](https://github.com/KylinOLAP/Kylin#off-hadoop-cli-installation).
+
+
+By following this tutorial, you will be able to build kylin test cubes by running a specific test case, and you can further run other test cases against the cubes having been built.
+
+
+## Environment on the Hadoop CLI
+
+Off-Hadoop-CLI installation requires you having a hadoop CLI machine (or a hadoop sandbox) as well as your local develop machine. To make things easier we strongly recommend you starting with running Kylin on a hadoop sandbox, like <http://hortonworks.com/products/hortonworks-sandbox/>. In the following tutorial we'll go with **Hortonworks Sandbox 2.2**. 
+
+### Start Hadoop
+
+In Hortonworks sandbox, ambari helps to launch hadoop:
+
+{% highlight Groff markup %}
+	ambari-agent start
+	ambari-server start
+{% endhighlight %}
+	
+With both command successfully run you can go to ambari home page at <http://yoursandboxip:8080> (user:admin,password:admin) to check everything's status. By default ambari disables Hbase, you'll need manually start the `Hbase` service.
+
+For other hadoop distribution, basically start the hadoop cluster, make sure HDFS, YARN, Hive, HBase are running.
+
+
+## Environment on the dev machine
+
+
+### Install maven
+
+The latest maven can be found at <http://maven.apache.org/download.cgi>, we create a symbolic so that `mvn` can be run anywhere.
+
+{% highlight Groff markup %}
+	cd ~
+	wget http://xenia.sote.hu/ftp/mirrors/www.apache.org/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
+	tar -xzvf apache-maven-3.2.5-bin.tar.gz
+	ln -s /root/apache-maven-3.2.5/bin/mvn /usr/bin/mvn
+{% endhighlight %}
+
+### Compile
+
+First clone the Kylin project to your local:
+
+{% highlight Groff markup %}
+	git clone https://github.com/KylinOLAP/Kylin.git
+{% endhighlight %}
+	
+Install Kylin artifacts to the maven repo
+
+{% highlight Groff markup %}
+	mvn clean install -DskipTests
+{% endhighlight %}
+
+### Modify local configuration
+
+Local configuration must be modified to point to your hadoop sandbox (or CLI) machine. 
+
+* In **examples/test_case_data/sandbox/kylin.properties**
+   * Find `sandbox` and replace with your hadoop hosts (if you're using HDP sandbox, this can be skipped)
+   * Fine `kylin.job.run.as.remote.cmd` and change it to "true" (in code repository the default is false, which assume running it on hadoop CLI)
+   * Find `kylin.job.remote.cli.username` and `kylin.job.remote.cli.password`, fill in the user name and password used to login hadoop cluster for hadoop command execution; If you're using HDP sandbox, the default username is "root" and password is "hadoop".
+
+* In **examples/test_case_data/sandbox**
+   * For each configuration xml file, find all occurrence of `sandbox` and replace with your hadoop hosts; (if you're using HDP sandbox, this can be skipped)
+
+An alternative to the host replacement is updating your `hosts` file to resolve `sandbox` and `sandbox.hortonworks.com` to the IP of your sandbox machine.
+
+### Run unit tests
+
+Run a end-to-end cube building test
+ 
+{% highlight Groff markup %}
+	mvn test -Dtest=com.kylinolap.job.BuildCubeWithEngineTest -DfailIfNoTests=false
+{% endhighlight %}
+	
+Run other tests, the end-to-end cube building test is exclueded
+
+{% highlight Groff markup %}
+	mvn test
+{% endhighlight %}
+
+### Launch Kylin Web Server
+
+In your Eclipse IDE, launch `com.kylinolap.rest.DebugTomcat` with specifying VM arguments "-Dspring.profiles.active=sandbox". (By default Kylin server will listen on 7070 port; If you want to use another port, please specify it as a parameter when run `DebugTomcat)
+
+Check Kylin Web available at http://localhost:7070/kylin (user:ADMIN,password:KYLIN)
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md b/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md
new file mode 100644
index 0000000..710301f
--- /dev/null
+++ b/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md
@@ -0,0 +1,149 @@
+---
+layout: post
+title:  "On Hadoop CLI installation"
+date:   2015-03-13
+author: Luke Han
+categories: installation
+---
+
+>For new users: Please go with v0.7.x, binary package and installation guide here: [http://kylin.incubator.apache.org/download/](http://kylin.incubator.apache.org/download/)
+> 
+> For Version: v0.6.6 only, tested: HDP 2.1/2.2 sandbox, HDP 2.1 Cluster
+
+
+On-Hadoop-CLI installation is for demo use, or for those who want to host their own web site to provide Kylin service. The scenario is depicted at <https://github.com/KylinOLAP/Kylin#on-hadoop-cli-installation>.
+
+Except for some prerequisite software installations, the core of Kylin installation is accomplished by running a single script. After running the script, you will be able to build sample cube and query the tables behind the cubes via a unified web interface.
+
+## Environment
+
+Running On-Hadoop-CLI installation requires you having access to a hadoop CLI, where you have full permissions to hdfs, hive, hbase and map-reduce. To make things easier we strongly recommend you starting with running Kylin on a hadoop sandbox, like <http://hortonworks.com/products/hortonworks-sandbox/>. In the following tutorial we'll go with **Hortonworks Sandbox 2.1/2.2** and **Cloudera QuickStart VM 5.1/5.2**. 
+
+To avoid permission issue, we suggest you using `root` account. The password for **Hortonworks Sandbox 2.1/2.2** is `hadoop` , for **Cloudera QuickStart VM 5.1/5.2** is `cloudera`.
+
+For account other than `root`, please make sure your account has privileges to access relative folders and files. For example, if you are using `cloudera` account in Cloudera VM, please run follow command first before run Kylin deploy script:
+
+{% highlight Groff markup %}
+sudo mkdir /etc/kylin
+sudo chmod -R 777 /etc/kylin
+{% endhighlight %}
+
+We also suggest you using bridged mode instead of NAT mode in your virtual box settings. Bridged mode will assign your sandbox an independent IP so that you can avoid issues like https://github.com/KylinOLAP/Kylin/issues/12
+
+### Start Hadoop
+
+For Hortonworks, ambari helps to launch hadoop:
+
+{% highlight Groff markup %}
+ambari-agent start
+ambari-server start
+{% endhighlight %}
+	
+With both command successfully run you can go to ambari homepage at <http://your_sandbox_ip:8080> (user:admin,password:admin) to check everything's status. **By default hortonworks ambari disables Hbase, you'll need manually start the `Hbase` service at ambari homepage.**
+
+![start hbase in ambari]( /images/On-Hadoop-CLI-installation/starthbase.png)
+
+For Cloudera, you can skip this step since they're by default activated.
+
+### Install tomcat
+
+The latest tomcat can be found at <http://tomcat.apache.org/download-70.cgi>, we need the variable `CATALINA_HOME` exported.
+
+{% highlight Groff markup %}
+cd ~
+wget http://apache.mirrors.lucidnetworks.net/tomcat/tomcat-7/v7.0.59/bin/apache-tomcat-7.0.59.tar.gz
+tar -xzvf apache-tomcat-7.0.59.tar.gz
+export CATALINA_HOME=~/apache-tomcat-7.0.59
+{% endhighlight %}
+
+### Install maven:
+
+For Cloudera, you can skip this step since maven is by default installed.
+
+The latest maven can be found at <http://maven.apache.org/download.cgi>, we create a symbolic so that `mvn` can be run anywhere.
+
+{% highlight Groff markup %}
+cd ~
+wget http://xenia.sote.hu/ftp/mirrors/www.apache.org/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
+tar -xzvf apache-maven-3.2.5-bin.tar.gz 
+ln -s ~/apache-maven-3.2.5/bin/mvn /usr/bin/mvn
+{% endhighlight %}
+
+### Install npm
+
+Npm comes with latest versions of nodejs, just donwload nodejs from <http://nodejs.org/download/>, `npm` is located at the `/bin` folder of `nodejs`, we append the folder to `PATH` so that `npm` can be run anywhere.
+
+{% highlight Groff markup %}
+cd ~
+wget http://nodejs.org/dist/v0.10.32/node-v0.10.32-linux-x64.tar.gz
+tar -xzvf node-v0.10.32-linux-x64.tar.gz
+export PATH=~/node-v0.10.32-linux-x64/bin:$PATH
+{% endhighlight %}
+	
+## Build cubes & Query tables
+
+First clone the Kylin project to your local:
+
+{% highlight Groff markup %}
+git clone https://github.com/KylinOLAP/Kylin.git
+{% endhighlight %}
+	
+Go into the folder and run deploy script:
+
+{% highlight Groff markup %}	
+cd Kylin/
+./deploy.sh
+{% endhighlight %}
+
+At this point, if you're installing Kylin on a cluster, please take a look at this:[a limitation](https://issues.apache.org/jira/browse/KYLIN-604), If you're using a sandbox, please just go ahead.
+
+After successfully deployed, you can start run with:
+
+{% highlight Groff markup %}	
+cd Kylin/
+./kylin.sh start
+{% endhighlight %}
+
+And later stop it by:
+	
+{% highlight Groff markup %}
+cd Kylin/
+./kylin.sh stop
+{% endhighlight %}
+
+If you meet any problems, please check [FAQ](https://github.com/KylinOLAP/Kylin/wiki/FAQ-on-Kylin-Installation-and-Usage) first.
+This script will help to:
+
+1. Check your environment
+2. Build Kylin artifacts with Maven
+3. Generate some sample tables
+3. Create empty cubes for these tables
+4. Lauch a one-stop website to build cubes & query tables
+
+After successfully running the script, please navigate to <http://your_hostname:7070> to build your cube and query it. The username/password is ADMIN/KYLIN
+
+If you want to check detail log, you can find it at ${CATALINA_HOME}/logs/kylin.log
+
+### Build Cube in Cubes Tab
+
+![build cube]( /images/On-Hadoop-CLI-installation/cube.png)
+
+### Check Building Progress in Job Tab
+![check job status]( /images/On-Hadoop-CLI-installation/job.png)
+
+### Query Tables in Query Tab
+![query tables]( /images/On-Hadoop-CLI-installation/query.png)
+
+## What if I closed my VM?
+
+If you shut down the VM and restarted it, Kylin will not automatically start. Depending on whether you succeed in running the deploy.sh, you should:
+
+### If running deploy.sh failed last time
+1. Kill it if any tomcat instance exist
+2. Start over again
+
+### If running deploy.sh succeeded last time
+1. Kill it if any tomcat instance exist
+2. Make sure Hbase is running
+3. run `export CATALINA_HOME=~/apache-tomcat-7.0.56`
+4. run `sudo -i "${CATALINA_HOME}/bin/startup.sh"`

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md b/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md
new file mode 100644
index 0000000..da56a26
--- /dev/null
+++ b/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md
@@ -0,0 +1,127 @@
+---
+layout: post
+title:  "Kylin Cube Creation Tutorial"
+date:   2014-11-15
+author: Kejia-Wang
+categories: tutorial
+---
+
+### I. Create a Project
+1. Go to `Query` page in top menu bar, then click `Manage Projects`.
+
+   ![]( /images/Kylin-Cube-Creation-Tutorial/1 manage-prject.png)
+
+2. Click the `+ Project` button to add a new project.
+
+   ![]( /images/Kylin-Cube-Creation-Tutorial/2 +project.png)
+
+3. Fulfill the following form and click `submit` button to send a request.
+
+   ![]( /images/Kylin-Cube-Creation-Tutorial/3 new-project.png)
+
+4. After success, there will be a notification show in the bottom.
+
+   ![]( /images/Kylin-Cube-Creation-Tutorial/3.1 pj-created.png)
+
+### II. Sync up a Table
+1. Click `Tables` in top bar and then click the `+ Sync` button to load hive table metadata.
+
+   ![]( /images/Kylin-Cube-Creation-Tutorial/4 +table.png)
+
+2. Enter the table names and click `Sync` to send a request.
+
+   ![]( /images/Kylin-Cube-Creation-Tutorial/5 hive-table.png)
+
+### III. Create a Cube
+To start with, click `Cubes` in top bar.Then click `+Cube` button to enter the cube designer page.
+
+![]( /images/Kylin-Cube-Creation-Tutorial/6 +cube.png)
+
+**Step 1. Cube Info**
+
+Fill up the basic information of the cube. Click `Next` to enter the next step.
+
+You can use letters, numbers and '_' to name your cube (Notice that space in name is not allowed).
+
+![]( /images/Kylin-Cube-Creation-Tutorial/7 cube-info.png)
+
+**Step 2. Dimensions**
+
+1. Set up the fact table.
+
+    ![]( /images/Kylin-Cube-Creation-Tutorial/8 dim-factable.png)
+
+2. Click `+Dimension` to add a new dimension.
+
+    ![]( /images/Kylin-Cube-Creation-Tutorial/8 dim-+dim.png)
+
+3. There are different types of dimensions that might be added to a cube. Here we list some of them for your reference.
+
+    * Dimensions from fact table.
+        ![]( /images/Kylin-Cube-Creation-Tutorial/8 dim-typeA.png)
+
+    * Dimensions from look up table.
+        ![]( /images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-1.png)
+
+        ![]( /images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-2.png)
+   
+    * Dimensions from look up table with hierarchy.
+        ![]( /images/Kylin-Cube-Creation-Tutorial/8 dim-typeC.png)
+
+    * Dimensions from look up table with derived dimensions.
+        ![]( /images/Kylin-Cube-Creation-Tutorial/8 dim-typeD.png)
+
+4. User can edit the dimension after saving it.
+   ![]( /images/Kylin-Cube-Creation-Tutorial/8 dim-edit.png)
+
+**Step 3. Measures**
+
+1. Click the `+Measure` to add a new measure.
+   ![]( /images/Kylin-Cube-Creation-Tutorial/9 meas-+meas.png)
+
+2. There are 5 different types of measure according to its expression: `SUM`, `MAX`, `MIN`, `COUNT` and `COUNT_DISTINCT`. Please be  carefully to choose the return type, which is related to the error rate of the `COUNT(DISTINCT)`.
+   * SUM
+
+     ![]( /images/Kylin-Cube-Creation-Tutorial/9 meas-sum.png)
+
+   * MIN
+
+     ![]( /images/Kylin-Cube-Creation-Tutorial/9 meas-min.png)
+
+   * MAX
+
+     ![]( /images/Kylin-Cube-Creation-Tutorial/9 meas-max.png)
+
+   * COUNT
+
+     ![]( /images/Kylin-Cube-Creation-Tutorial/9 meas-count.png)
+
+   * DISTINCT_COUNT
+
+     ![]( /images/Kylin-Cube-Creation-Tutorial/9 meas-distinct.png)
+
+**Step 4. Filter**
+
+This step is optional. You can add some condition filter in `SQL` format.
+
+![]( /images/Kylin-Cube-Creation-Tutorial/10 filter.png)
+
+**Step 5. Refresh Setting**
+
+This step is designed for incremental cube build. 
+
+![]( /images/Kylin-Cube-Creation-Tutorial/11 refresh-setting1.png)
+
+Choose partition type, partition column and start date.
+
+![]( /images/Kylin-Cube-Creation-Tutorial/11 refresh-setting2.png)
+
+**Step 6. Advanced Setting**
+
+![]( /images/Kylin-Cube-Creation-Tutorial/12 advanced.png)
+
+**Step 7. Overview & Save**
+
+You can overview your cube and go back to previous step to modify it. Click the `Save` button to complete the cube creation.
+
+![]( /images/Kylin-Cube-Creation-Tutorial/13 overview.png)

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md b/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md
new file mode 100644
index 0000000..cb88e4d
--- /dev/null
+++ b/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md
@@ -0,0 +1,34 @@
+---
+layout: post
+title:  "Kylin ODBC Driver Tutorial"
+date:   2014-11-05
+author: lukehan
+categories: tutorial
+---
+
+> We provide Kylin ODBC driver to enable data access from ODBC-compatible client applications.
+> 
+> Both 32-bit version or 64-bit version driver are available.
+> 
+> Tested Operation System: Windows 7, Windows Server 2008 R2
+> 
+> Tested Application: Tableau 8.0.4 and Tableau 8.1.3
+
+## Prerequisites
+1. Microsoft Visual C++ 2012 Redistributable 
+   * For 32 bit Windows or 32 bit Tableau Desktop: Download: [32bit version](http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe) 
+   * For 64 bit Windows or 64 bit Tableau Desktop: Download: [64bit version](http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe)
+
+
+2. ODBC driver internally gets results from a REST server, make sure you have access to one
+
+## Installation
+1. Uninstall existing Kylin ODBC first, if you already installled it before
+2. Download the attached driver installer at [KylinOLAP/odbc-driver/exe](https://github.com/KylinOLAP/odbc-driver/tree/master/exe), run it.
+   * For 32 bit Tableau Desktop: Please install KylinODBCDriver (x86).exe
+   * For 64 bit Tableau Desktop: Please install KylinODBCDriver (x64).exe
+
+3. Both drivers already be installed on Tableau Server, you properly should be able to publish to there without issues
+
+## Bug Report
+Open github issue here

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md b/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md
new file mode 100644
index 0000000..aab389c
--- /dev/null
+++ b/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md
@@ -0,0 +1,65 @@
+---
+layout: post
+title:  "Kylin Cube Build and Job Monitoring Tutorial"
+date:   2014-11-06
+author: Kejia-Wang
+categories: tutorial
+---
+
+### Cube Build
+First of all, make sure that you have authority of the cube you want to build.
+
+1. In `Cubes` page, click the `Action` drop down button in the right of a cube column and select operation `Build`.
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/1 action-build.png)
+
+2. There is a pop-up window after the selection. 
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/2 pop-up.png)
+
+3. Click `END DATE` input box to choose end date of this incremental cube build.
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/3 end-date.png)
+
+4. Click `Submit` to send request. 
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4 submit.png)
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4.1 success.png)
+
+   After submit the request successfully, you will see the job just be created in the `Jobs` page.
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/5 jobs-page.png)
+
+5. To discard this job, just click the `Discard` button.
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/6 discard.png)
+
+### Job Monitoring
+In the `Jobs` page, click the job detail button to see detail information show in the right side.
+
+![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/7 job-steps.png)
+
+The detail information of a job provides a step-by-step record to trace a job. You can hover a step status icon to see the basic status and information.
+
+![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/8 hover-step.png)
+
+Click the icon button show in each step to see the details: `Parameters`, `Log`, `MRJob`, `EagleMonitoring`.
+
+* Parameters
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters.png)
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters-d.png)
+
+* Log
+        
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log.png)
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log-d.png)
+
+* MRJob(MapReduce Job)
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob.png)
+
+   ![](/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob-d.png)

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md b/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md
new file mode 100644
index 0000000..78cbdcd
--- /dev/null
+++ b/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md
@@ -0,0 +1,32 @@
+---
+layout: post
+title:  "Kylin Cube Permission Grant Tutorial"
+date:   2014-11-11
+author: Kejia-Wang
+categories: tutorial
+---
+
+In `Cubes` page, double click the cube row to see the detail information. Here we focus on the `Access` tab.
+Click the `+Grant` button to grant permission. 
+
+![](/images/Kylin-Cube-Permission-Grant-Tutorial/14 +grant.png)
+
+There are four different kinds of permissions for a cube. Move your mouse over the `?` icon to see detail information. 
+
+![](/images/Kylin-Cube-Permission-Grant-Tutorial/15 grantInfo.png)
+
+There are also two types of user that a permission can be granted: `User` and `Role`. `Role` means a group of users who have the same role.
+
+### 1. Grant User Permission
+* Select `User` type, enter the username of the user you want to grant and select the related permission. 
+
+     ![](/images/Kylin-Cube-Permission-Grant-Tutorial/16 grant-user.png)
+
+* Then click the `Grant` button to send a request. After the success of this operation, you will see a new table entry show in the table. You can select various permission of access to change the permission of a user. To delete a user with permission, just click the `Revoke` button.
+
+     ![](/images/Kylin-Cube-Permission-Grant-Tutorial/16 user-update.png)
+
+### 2. Grant Role Permission
+* Select `Role` type, choose a group of users that you want to grant by click the drop down button and select a permission.
+
+* Then click the `Grant` button to send a request. After the success of this operation, you will see a new table entry show in the table. You can select various permission of access to change the permission of a group. To delete a group with permission, just click the `Revoke` button.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md b/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md
new file mode 100644
index 0000000..b63715e
--- /dev/null
+++ b/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md
@@ -0,0 +1,138 @@
+---
+layout: post
+title:  "Kylin Web Tutorial"
+date:   2015-04-17
+author: Luwei
+categories: tutorial
+---
+
+> **Supported Browsers**
+> 
+> Windows: Google Chrome, FireFox
+> 
+> Mac: Google Chrome, FireFox, Safari
+
+## 1. Access & Login
+Host to access: http://your_sandbox_ip:9080
+Login with username/password: ADMIN/KYLIN
+
+![](/images/Kylin-Web-Tutorial/1 login.png)
+
+## 2. Available Hive Tables in Kylin
+Although Kylin will using SQL as query interface and leverage Hive metadata, kylin will not enable user to query all hive tables since it's a pre-build OLAP (MOLAP) system so far. To enable Table in Kylin, it will be easy to using "Sync" function to sync up tables from Hive.
+
+![](/images/Kylin-Web-Tutorial/2 tables.png)
+
+## 3. Kylin OLAP Cube
+Kylin's OLAP Cubes are pre-calculation datasets from Star Schema Hive tables, Here's the web management interface for user to explorer, manage all cubes.Go to `Cubes` Menu, it will list all cubes available in system:
+
+![](/images/Kylin-Web-Tutorial/3 cubes.png)
+
+To explore more detail about the Cube
+
+* Form View:
+
+   ![](/images/Kylin-Web-Tutorial/4 form-view.png)
+
+* SQL View (Hive Query to read data to generate the cube):
+
+   ![](/images/Kylin-Web-Tutorial/5 sql-view.png)
+
+* Visualization (Showing the Star Schema behind of this cube):
+
+   ![](/images/Kylin-Web-Tutorial/6 visualization.png)
+
+* Access (Grant user/role privileges, Grant operation only open to Admin in beta):
+
+   ![](/images/Kylin-Web-Tutorial/7 access.png)
+
+## 4. Write and Execute SQL on web
+Kylin's web offer a simple query tool for user to run SQL to explorer existing cube, verify result and explorer the result set using #5's Pivot analysis and visualization
+
+> **Query Limit**
+> 
+> 1. Only SELECT query be supported
+> 
+> 2. To avoid huge network traffic from server to client, the scan range's threshold be set to 1,000,000 in beta.
+> 
+> 3. SQL can't found data from cube will not redirect to Hive in beta
+
+Go to "Query" menu:
+
+![](/images/Kylin-Web-Tutorial/8 query.png)
+
+* Source Tables:
+
+   Browser current available Tables (same structure and metadata as Hive):
+  
+   ![](/images/Kylin-Web-Tutorial/9 query-table.png)
+
+* New Query:
+
+   You can write and execute your query and explorer the result. One query for you reference:
+
+   ![](/images/Kylin-Web-Tutorial/10 query-result.png)
+
+* Saved Query:
+
+   Associate with user account, you can get saved query from different browsers even machines.
+   Click "Save" in Result area, it will popup for name and description to save current query:
+
+   ![](/images/Kylin-Web-Tutorial/11 save-query.png)
+
+   Click "Saved Queries" to browser all your saved queries, you could direct resubmit it to run or remove it:
+
+   ![](/images/Kylin-Web-Tutorial/11 save-query-2.png)
+
+* Query History:
+
+   Only keep the current user's query history in current bowser, it will require cookie enabled and will lost if you clean up bowser's cache.Click "Query History" tab, you could directly resubmit any of them to execute again.
+
+## 5. Pivot Analysis and Visualization
+There's one simple pivot and visualization analysis tool in Kylin's web for user to explore their query result:
+
+* General Information:
+
+   When the query execute success, it will present a success indictor and also a cube's name which be hit. 
+   Also it will present how long this query be executed in backend engine (not cover network traffic from Kylin server to browser):
+
+   ![](/images/Kylin-Web-Tutorial/12 general.png)
+
+* Query Result:
+
+   It's easy to order on one column.
+
+   ![](/images/Kylin-Web-Tutorial/13 results.png)
+
+* Export to CSV File
+
+   Click "Export" button to save current result as CSV file.
+
+* Pivot Table:
+
+   Drag and Drop one or more columns into the header, the result will grouping by such column's value:
+
+   ![](/images/Kylin-Web-Tutorial/14 drag.png)
+
+* Visualization:
+
+   Also, the result set will be easy to show with different charts in "Visualization":
+
+   note: line chart only available when there's at least one dimension with real "Date" data type of column from Hive Table.
+
+   * Bar Chart:
+
+   ![](/images/Kylin-Web-Tutorial/15 bar-chart.png)
+   
+   * Pie Chart:
+
+   ![](/images/Kylin-Web-Tutorial/16 pie-chart.png)
+
+   * Line Chart
+
+   ![](/images/Kylin-Web-Tutorial/17 line-chart.png)
+
+## 6. Cube Build Job Monitoring
+Monitor and manage cube build process, diagnostic into the detail and even link to Hadoop's job information directly:
+
+![](/images/Kylin-Web-Tutorial/7 job-steps.png)

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md b/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md
new file mode 100644
index 0000000..6dbbd99
--- /dev/null
+++ b/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md
@@ -0,0 +1,113 @@
+---
+layout: post
+title:  "Kylin and Tableau Tutorial"
+date:   2015-04-17
+author: Luwei
+categories: tutorial
+---
+
+> There are some limitations of Kylin ODBC driver with Tableau, please read carefully this instruction before you try it.
+> 
+> * Only support "managed" analysis path, Kylin engine will raise exception for unexpected dimension or metric
+> * Please always select Fact Table first, then add lookup tables with correct join condition (defined join type in cube)
+> * Do not try to join between fact tables or lookup tables;
+> * You can try to use high cardinality dimensions like seller id as Tableau Filter, but the engine will only return limited seller id in Tableau's filter now.
+> 
+> More detail information or any issue, please contact Kylin Team: `kylinolap@gmail.com`
+
+### Step 1. Install ODBC Driver
+Refer to wiki page [Kylin ODBC Driver Tutorial](https://github.com/KylinOLAP/Kylin/wiki/Kylin-ODBC-Driver-Tutorial).
+
+### Step 2. Connect to Kylin Server
+> We recommended to use Connect Using Driver instead of Using DSN since Tableau team will not manage your DSN on Tableau Servers.
+
+Connect Using Driver: Select "Other Database(ODBC)" in the left panel and choose KylinODBCDriver in the pop-up window. 
+
+![](/images/Kylin-and-Tableau-Tutorial/1 odbc.png)
+
+Enter your Sever location and credentials: server host, port, username and password.
+
+![]( /images/Kylin-and-Tableau-Tutorial/2 serverhost.jpg)
+
+Click "Connect" to get the list of projects that you have permission to access. See details about permission in [Kylin Cube Permission Grant Tutorial](https://github.com/KylinOLAP/Kylin/wiki/Kylin-Cube-Permission-Grant-Tutorial). Then choose the project you want to connect in the drop down list. 
+
+![]( /images/Kylin-and-Tableau-Tutorial/3 project.jpg)
+
+Click "Done" to complete the connection.
+
+![]( /images/Kylin-and-Tableau-Tutorial/4 done.jpg)
+
+### Step 3. Using Single Table or Multiple Tables
+> Limitation
+> 
+>    * Must select FACT table first
+>    * Do not support select from lookup table only
+>    * The join condition must match within cube definition
+
+**Select Fact Table**
+
+Select `Multiple Tables`.
+
+![]( /images/Kylin-and-Tableau-Tutorial/5 multipleTable.jpg)
+
+Then click `Add Table...` to add a fact table.
+
+![]( /images/Kylin-and-Tableau-Tutorial/6 facttable.jpg)
+
+![]( /images/Kylin-and-Tableau-Tutorial/6 facttable2.jpg)
+
+**Select Look-up Table**
+
+Click `Add Table...` to add a look-up table. 
+
+![]( /images/Kylin-and-Tableau-Tutorial/7 lkptable.jpg)
+
+Set up the join clause carefully. 
+
+![]( /images/Kylin-and-Tableau-Tutorial/8 join.jpg)
+
+Keep add tables through click `Add Table...` until all the look-up tables have been added properly. Give the connection a name for use in Tableau.
+
+![]( /images/Kylin-and-Tableau-Tutorial/9 connName.jpg)
+
+**Using Connect Live**
+
+There are three types of `Data Connection`. Choose the `Connect Live` option. 
+
+![]( /images/Kylin-and-Tableau-Tutorial/10 connectLive.jpg)
+
+Then you can enjoy analyzing with Tableau.
+
+![]( /images/Kylin-and-Tableau-Tutorial/11 analysis.jpg)
+
+**Add additional look-up Tables**
+
+Click `Data` in the top menu bar, select `Edit Tables...` to update the look-up table information.
+
+![]( /images/Kylin-and-Tableau-Tutorial/12 edit tables.jpg)
+
+### Step 4. Using Customized SQL
+To use customized SQL resembles using Single Table/Multiple Tables, except that you just need to paste your SQL in `Custom SQL` tab and take the same instruction as above.
+
+![]( /images/Kylin-and-Tableau-Tutorial/19 custom.jpg)
+
+### Step 5. Publish to Tableau Server
+Suppose you have finished making a dashboard with Tableau, you can publish it to Tableau Server.
+Click `Server` in the top menu bar, select `Publish Workbook...`. 
+
+![]( /images/Kylin-and-Tableau-Tutorial/14 publish.jpg)
+
+Then sign in your Tableau Server and prepare to publish. 
+
+![]( /images/Kylin-and-Tableau-Tutorial/16 prepare-publish.png)
+
+If you're Using Driver Connect instead of DSN connect, you'll need to additionally embed your password in. Click the `Authentication` button at left bottom and select `Embedded Password`. Click `Publish` and you will see the result.
+
+![]( /images/Kylin-and-Tableau-Tutorial/17 embedded-pwd.png)
+
+### Tips
+* Hide Table name in Tableau
+
+    * Tableau will display columns be grouped by source table name, but user may want to organize columns with different structure. Using "Group by Folder" in Tableau and Create Folders to group different columns.
+
+     ![]( /images/Kylin-and-Tableau-Tutorial/18 groupby-folder.jpg)

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/Tutorial/2015-05-25-test~
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2015-05-25-test~ b/docs/website/_posts/Tutorial/2015-05-25-test~
new file mode 100644
index 0000000..0a67385
--- /dev/null
+++ b/docs/website/_posts/Tutorial/2015-05-25-test~
@@ -0,0 +1,28 @@
+---
+layout: post
+title:  "test"
+date:   2015-05-25
+author: clw
+categories: test
+---
+
+3. There are different types of dimensions that might be added to a cube. Here we list some of them for your reference.
+
+    * Dimensions from fact table.
+
+          https://github.com/KylinOLAP/kylinolap.github.io/blob/master/docs/tutorial/8%20dim-typeA.png
+ssadfs
+
+dddd gdg
+
+   Dimensions from look up table.
+         ![](https://github.com/KylinOLAP/kylinolap.github.io/blob/master/docs/tutorial/8%20dim-typeB-1.png)
+
+          ![](https://github.com/KylinOLAP/kylinolap.github.io/blob/master/docs/tutorial/8%20dim-typeB-2.png)     
+   
+    * Dimensions from look up table with hierarchy.
+          ![](https://github.com/KylinOLAP/kylinolap.github.io/blob/master/docs/tutorial/8%20dim-typeC.png)
+
+    * Dimensions from look up table with derived dimensions.
+          ![](https://github.com/KylinOLAP/kylinolap.github.io/blob/master/docs/tutorial/8%20dim-typeD.png)
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/blog/2015-01-25-introduce-data-model.md b/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
new file mode 100644
index 0000000..2016207
--- /dev/null
+++ b/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
@@ -0,0 +1,40 @@
+---
+layout: post
+title:  "Introduce Data Model of Cube Designer"
+date:   2015-01-25 22:28:00
+author: Luke Han
+categories: blog
+---
+
+### Background
+In previous version (before v0.6.4), Kylin introduced a GUI tool called Cube Designer for user (we called this role as __Cube Modeler__) to architect OLAP Cube with dimensions, measures and other settings. It works well for most of the features but still not user friendly yet: 
+
+1. A user has to add dimension one by one, considering there are 20+ even 50+ dimensions, the entire process is really boring. 
+2. Each dimension requires define join condition between fact table and lookup table which even already be defined in previous dimensions many times.
+3. Less validation check, especially for Hierarchy and Derived dimension, there are many exceptions in further steps which blocked many people to save the cube definition without any idea about the issue.
+4. Save/Next buttons are confusing user to click which one for real next step or just save current dimension settings
+
+### Data Model of Cube Designer
+With the feedback from our internal users and external community, we have came up one idea and would like to introduce a new concept (widely known in Data Warehouse and Business Intelligence domain): Data Model: a data model organises data elements and standardises how the data elements relate to one another.[Wikipedia](http://en.wikipedia.org/wiki/Data_model). In Kylin, it using [Star Schema](http://en.wikipedia.org/wiki/Star_schema) as Data Model, which is the simplest style of data warehouse schema. The star schema consists of a few "fact tables" (possibly only one, justifying the name) referencing any number of "dimension tables". It actually already there behind dimensions and measures and now just come to first step to define the relationship between different tables before create each dimension. 
+Now (after v0.6.4), to create a cube will follow below steps:
+
+1. Define data model first: pick up one fact table and then add other lookup tables (with their join conditions). The data mode must be presents as Star Schema.
+2. Then add dimensions, since all join conditions already presented in data model, each dimension could be more easy to create, just need to know what's kind of type: normal, hierarchy and derived (will have another blog to introduce them). There's also one helper called _Auto Generator_ to help generate many dimensions within simple clicks.
+3. Then define measures and others as previous cube designer did
+
+### Benefits
+1. A data model is very easy to communicate between different roles and teams. Most of cases it just mapping to real database table relationship, like from Hive tables
+2. More easy to create dimensions and measures based on the data model
+3. Friendly error message with enhanced validation check when save cube
+
+
+### What's Next
+After this refactor, Kylin is now be able to introduce more powerful features, the major idea is to using different storages to serve same data model:
+
+* __Logical Model__: A Data Model presents logical data structure like Star Schema beyond data tables with more business meaning
+* __Physical Model__: define how the underlying data to be stored in persistent system, like HBase. There are already two of them: MOLAP (current Kylin version) and InvertedIndex (coming with 0.7.x release). And it also easy to extend to support others without change the Logical Model.
+* A new GUI of Cube Designer to support above is on the way.
+
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/assets/css/docs.css
----------------------------------------------------------------------
diff --git a/docs/website/assets/css/docs.css b/docs/website/assets/css/docs.css
new file mode 100755
index 0000000..d46052b
--- /dev/null
+++ b/docs/website/assets/css/docs.css
@@ -0,0 +1,106 @@
+/*
+ * 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.
+ */
+
+.aside {
+  height: 100%;
+  background-color:#fff;
+}
+
+.aside1 {
+  background-color: #fff;
+  height: 100%;
+  padding-left: 0px;
+  padding-right: 0px;
+  text-align: left;
+}
+
+.aside1 > .nav > li > a {
+  border-radius: 0px;
+  color: #454545;
+  font-weight: 600;
+  font-family: 'Open sans';
+  font-size: 15px;
+  padding: 10px 10px;
+}
+
+.aside1> .nav > li > a:hover {
+  color: #000000;
+  background-color: #ffffff;
+}
+
+.aside1 > .nav-pills>li.active>a ,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus {
+  color: #000000;
+  background-color: #ffffff;
+}
+
+.list-group {
+  font-family: 'Open sans';
+}
+
+
+.aside2 {
+  height: 100%;
+  overflow-y: auto;
+  background-color: #fff;
+  overflow-x: hidden;
+}
+
+.post-title {
+  font-family: 'Open sans';
+  font-size: 30px;
+}
+
+.post-meta {
+  font-family: 'Open sans';
+}
+
+.post-content {
+  font-family: 'Open sans';
+}
+
+.post-content> h1  {
+  font-family: 'Open sans';
+  font-size: 28px;
+}
+
+.post-content> h2  {
+  font-family: 'Open sans';
+  font-size: 24px;
+}
+
+.post-content> h3  {
+  font-family: 'Open sans';
+  font-size: 20px;
+}
+
+.post-content> h4  {
+  font-family: 'Open sans';
+  font-size: 18px;
+}
+
+.post-content> h5  {
+  font-family: 'Open sans';
+  font-size: 16px;
+}
+
+.post-content> h6  {
+  font-family: 'Open sans';
+  font-size: 16px;
+  color: #666666;
+}
+
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/assets/css/pygments.css
----------------------------------------------------------------------
diff --git a/docs/website/assets/css/pygments.css b/docs/website/assets/css/pygments.css
new file mode 100644
index 0000000..122b429
--- /dev/null
+++ b/docs/website/assets/css/pygments.css
@@ -0,0 +1,61 @@
+.hll { background-color: #ffffcc }
+.c { color: #408080; font-style: italic } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #008000; font-weight: bold } /* Keyword */
+.o { color: #666666 } /* Operator */
+.cm { color: #408080; font-style: italic } /* Comment.Multiline */
+.cp { color: #BC7A00 } /* Comment.Preproc */
+.c1 { color: #408080; font-style: italic } /* Comment.Single */
+.cs { color: #408080; font-style: italic } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.gr { color: #FF0000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #00A000 } /* Generic.Inserted */
+.go { color: #808080 } /* Generic.Output */
+.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #0040D0 } /* Generic.Traceback */
+.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.kp { color: #008000 } /* Keyword.Pseudo */
+.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #B00040 } /* Keyword.Type */
+.m { color: #666666 } /* Literal.Number */
+.s { color: #BA2121 } /* Literal.String */
+.na { color: #7D9029 } /* Name.Attribute */
+.nb { color: #008000 } /* Name.Builtin */
+.nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.no { color: #880000 } /* Name.Constant */
+.nd { color: #AA22FF } /* Name.Decorator */
+.ni { color: #999999; font-weight: bold } /* Name.Entity */
+.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+.nf { color: #0000FF } /* Name.Function */
+.nl { color: #A0A000 } /* Name.Label */
+.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.nt { color: #008000; font-weight: bold } /* Name.Tag */
+.nv { color: #19177C } /* Name.Variable */
+.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.w { color: #bbbbbb } /* Text.Whitespace */
+.mf { color: #666666 } /* Literal.Number.Float */
+.mh { color: #666666 } /* Literal.Number.Hex */
+.mi { color: #666666 } /* Literal.Number.Integer */
+.mo { color: #666666 } /* Literal.Number.Oct */
+.sb { color: #BA2121 } /* Literal.String.Backtick */
+.sc { color: #BA2121 } /* Literal.String.Char */
+.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #BA2121 } /* Literal.String.Double */
+.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #BA2121 } /* Literal.String.Heredoc */
+.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+.sx { color: #008000 } /* Literal.String.Other */
+.sr { color: #BB6688 } /* Literal.String.Regex */
+.s1 { color: #BA2121 } /* Literal.String.Single */
+.ss { color: #19177C } /* Literal.String.Symbol */
+.bp { color: #008000 } /* Name.Builtin.Pseudo */
+.vc { color: #19177C } /* Name.Variable.Class */
+.vg { color: #19177C } /* Name.Variable.Global */
+.vi { color: #19177C } /* Name.Variable.Instance */
+.il { color: #666666 } /* Literal.Number.Integer.Long */

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/blog/index.html
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.html b/docs/website/blog/index.html
new file mode 100644
index 0000000..3f772bd
--- /dev/null
+++ b/docs/website/blog/index.html
@@ -0,0 +1,64 @@
+---
+layout: default
+title: Blog
+---
+
+<!--
+* 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.
+-->
+
+
+<main id="main" >
+<section id="first" class="main">
+    <header style="padding:2em 0 4em 0;">
+      <div class="container" >
+        <h4 class="section-title"><span> Kylin Technical Blog </span></h4>
+         <!-- second-->
+          <div id="content-container" class="animated fadeIn">
+            <div >
+            <!--
+            <p class="aboutkylin" style="font-size:1.2em">Comming Soon...</p>
+            -->
+             <ul class="post-list">
+            {% for category in site.categories %}     <!-- categories -->
+            {% if category[0]  == 'blog' %}
+            {% for post in category[1] %}
+            <li>
+            <!--
+            <span align="left" class="content-header">{{ post.date | date: "%b %-d, %Y" }}</span>
+            -->
+        <h2 align="left">
+          <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
+        </h2>
+      </li>
+    {% endfor %}
+    {% endif %}
+    {% endfor %}
+  </ul>
+
+  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
+          </div>
+        </div>
+      </div>
+      <!-- /container --> 
+      
+    </header>
+  </section>
+
+  
+    
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/blog/index.html~
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.html~ b/docs/website/blog/index.html~
new file mode 100644
index 0000000..b287c89
--- /dev/null
+++ b/docs/website/blog/index.html~
@@ -0,0 +1,64 @@
+---
+layout: default
+title: Blog
+---
+
+<!--
+* 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.
+-->
+
+
+<main id="main" >
+<section id="first" class="main">
+    <header style="padding:2em 0 4em 0;">
+      <div class="container" >
+        <h4 class="section-title"><span> Kylin Technical Blog </span></h4>
+         <!-- second-->
+          <div id="content-container" class="animated fadeIn">
+            <div >
+            <!--
+            <p class="aboutkylin" style="font-size:1.2em">Comming Soon...</p>
+            -->
+             <ul class="post-list">
+            {% for category in site.categories %}     <!-- categories -->
+            {% if category[0]  != 'blog' %}
+            {% for post in category[1] %}
+            <li>
+            <!--
+            <span align="left" class="content-header">{{ post.date | date: "%b %-d, %Y" }}</span>
+            -->
+        <h2 align="left">
+          <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
+        </h2>
+      </li>
+    {% endfor %}
+    {% endif %}
+    {% endfor %}
+  </ul>
+
+  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
+          </div>
+        </div>
+      </div>
+      <!-- /container --> 
+      
+    </header>
+  </section>
+
+  
+    
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/blog/index.md~
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.md~ b/docs/website/blog/index.md~
new file mode 100644
index 0000000..28a57e1
--- /dev/null
+++ b/docs/website/blog/index.md~
@@ -0,0 +1,43 @@
+---
+layout: default
+title: Blog
+---
+
+
+<main id="main" >
+<section id="first" class="main">
+    <header style="padding:2em 0 4em 0;">
+      <div class="container" >
+        <h4 class="section-title"><span> Kylin Technical Blog </span></h4>
+         <!-- second-->
+          <div id="content-container" class="animated fadeIn">
+            <div >
+            <!--
+            <p class="aboutkylin" style="font-size:1.2em">Comming Soon...</p>
+            -->
+             <ul class="post-list">
+            <!-- {% for post in site.posts %} -->
+            <li>
+            <!--
+            <span align="left" class="content-header">{{ post.date | date: "%b %-d, %Y" }}</span>
+            -->
+            <p>{{post.url}}</p>
+        <h2 align="left">
+          <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
+        </h2>
+      </li>
+    {% endfor %}
+  </ul>
+
+  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
+          </div>
+        </div>
+      </div>
+      <!-- /container --> 
+      
+    </header>
+  </section>
+
+  
+    
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/community/index.html
----------------------------------------------------------------------
diff --git a/docs/website/community/index.html b/docs/website/community/index.html
new file mode 100644
index 0000000..28b7d00
--- /dev/null
+++ b/docs/website/community/index.html
@@ -0,0 +1,83 @@
+---
+layout: default
+title: Community
+---
+
+<!--
+* 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.
+-->
+
+
+  <main id="main" >
+  <div class="container" >
+    <div id="zero" class=" main" >
+      <header style=" padding:2em 0 4em 0">
+        <div class="container" >
+          <h4 class="section-title"><span>Kylin Community</span></h4>
+          <div class="row" style="margin-top:-20px;">
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">EVENTS</p>
+
+
+
+
+              <p><a href="http://strataconf.com/big-data-conference-uk-2015/public/schedule/detail/40029" target="_blank">Strata+Hadoop World 2015, London </a> 
+              <br/>Date - Wednesday, May 6, 2015 <br/>
+              Kylin will be present at Strata+Hadooop World</p>
+
+              <p><a href="http://bdtc2014.hadooper.cn/m/zone/bdtc_2014" target="_blank">Big Data Technology Conference, Beijing </a> 
+              <br/>Date - Sunday, December 14, 2014 <br/>
+              Kylin be presented by Luke Han, Sr. Product Manager of Kylin</p>
+
+              <p><a href="http://www.meetup.com/Cloud-at-ebayinc/events/218914395/" target="_blank">Apache Kylin Meetup @Bay Area </a> 
+              <br/>6:00PM - 7:30PM, Thursday, December 4, 2014 <br/>
+               Learn about "Extreme OLAP engine for Hadoop - Kylin", which eBay recently Open sourced and is now an Apache Incubator Project</p>
+
+              <p><a href="http://2014ebay.csdn.net/m/zone/ebay_en/" target="_blank">Shanghai Big Data Summit 2014 </a> 
+              <br/>Date - October 25th, 2014 <br/>
+                Kylin be presented by Jiang Xu, Cheif Architect of Kylin<br/>
+                <a href="http://ebay.csdn.net/" target="_blank">Slides and Video</a></p>
+                  
+            </div>
+            
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">DISCUSSION</p>
+              <p>Developement and User maililng list: <a href="mailto:dev@kylin.incubator.apache.org" target="_blank"> dev@kylin.incubator.apache.org</a></p>
+              <p>Please subscribe by sending email to: <a href="mailto:dev-subscribe@kylin.incubator.apache.org" target="_blank">dev-subscribe@kylin.incubator.apache.org</a></p>              
+              <p>The official Kylin Twitter account: <a href="https://twitter.com/ApacheKylin" target="_blank"> @ApacheKylin</a></p>
+            </div>
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">DEVELOPMENT</p>
+              <p>All development takes place at : </p>
+              <p>Apache Git: <a href="git://git.apache.org/incubator-kylin.git" target="_blank">git://git.apache.org/incubator-kylin.git</a><br/>
+              Github Mirror: <a href="https://github.com/apache/incubator-kylin" target="_blank">https://github.com/apache/incubator-kylin</a></p>
+
+              <p>Issue tracking: <a href="https://issues.apache.org/jira/browse/KYLIN" target="_blank">Apache JIRA</a></p>
+            </div>
+          </div>
+        </div>
+        <!-- /container --> 
+        
+      </header>
+    </div>
+    <!-- / section --> 
+  </div>
+  <!-- /container -->
+  
+  </header>
+  </section>
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/community/index.html~
----------------------------------------------------------------------
diff --git a/docs/website/community/index.html~ b/docs/website/community/index.html~
new file mode 100644
index 0000000..e451fba
--- /dev/null
+++ b/docs/website/community/index.html~
@@ -0,0 +1,83 @@
+<!--
+* 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.
+-->
+
+---
+layout: default
+title: Community
+---
+
+
+  <main id="main" >
+  <div class="container" >
+    <div id="zero" class=" main" >
+      <header style=" padding:2em 0 4em 0">
+        <div class="container" >
+          <h4 class="section-title"><span>Kylin Community</span></h4>
+          <div class="row" style="margin-top:-20px;">
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">EVENTS</p>
+
+
+
+
+              <p><a href="http://strataconf.com/big-data-conference-uk-2015/public/schedule/detail/40029" target="_blank">Strata+Hadoop World 2015, London </a> 
+              <br/>Date - Wednesday, May 6, 2015 <br/>
+              Kylin will be present at Strata+Hadooop World</p>
+
+              <p><a href="http://bdtc2014.hadooper.cn/m/zone/bdtc_2014" target="_blank">Big Data Technology Conference, Beijing </a> 
+              <br/>Date - Sunday, December 14, 2014 <br/>
+              Kylin be presented by Luke Han, Sr. Product Manager of Kylin</p>
+
+              <p><a href="http://www.meetup.com/Cloud-at-ebayinc/events/218914395/" target="_blank">Apache Kylin Meetup @Bay Area </a> 
+              <br/>6:00PM - 7:30PM, Thursday, December 4, 2014 <br/>
+               Learn about "Extreme OLAP engine for Hadoop - Kylin", which eBay recently Open sourced and is now an Apache Incubator Project</p>
+
+              <p><a href="http://2014ebay.csdn.net/m/zone/ebay_en/" target="_blank">Shanghai Big Data Summit 2014 </a> 
+              <br/>Date - October 25th, 2014 <br/>
+                Kylin be presented by Jiang Xu, Cheif Architect of Kylin<br/>
+                <a href="http://ebay.csdn.net/" target="_blank">Slides and Video</a></p>
+                  
+            </div>
+            
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">DISCUSSION</p>
+              <p>Developement and User maililng list: <a href="mailto:dev@kylin.incubator.apache.org" target="_blank"> dev@kylin.incubator.apache.org</a></p>
+              <p>Please subscribe by sending email to: <a href="mailto:dev-subscribe@kylin.incubator.apache.org" target="_blank">dev-subscribe@kylin.incubator.apache.org</a></p>              
+              <p>The official Kylin Twitter account: <a href="https://twitter.com/ApacheKylin" target="_blank"> @ApacheKylin</a></p>
+            </div>
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">DEVELOPMENT</p>
+              <p>All development takes place at : </p>
+              <p>Apache Git: <a href="git://git.apache.org/incubator-kylin.git" target="_blank">git://git.apache.org/incubator-kylin.git</a><br/>
+              Github Mirror: <a href="https://github.com/apache/incubator-kylin" target="_blank">https://github.com/apache/incubator-kylin</a></p>
+
+              <p>Issue tracking: <a href="https://issues.apache.org/jira/browse/KYLIN" target="_blank">Apache JIRA</a></p>
+            </div>
+          </div>
+        </div>
+        <!-- /container --> 
+        
+      </header>
+    </div>
+    <!-- / section --> 
+  </div>
+  <!-- /container -->
+  
+  </header>
+  </section>
+</main>



[13/49] incubator-kylin git commit: clean up temp files

Posted by lu...@apache.org.
clean up temp files


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

Branch: refs/heads/0.7.1
Commit: d63c3501bc01e4573235bb902d4146c56a16360d
Parents: d1b8e50
Author: Luke Han <lu...@apache.org>
Authored: Wed May 27 20:02:24 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Wed May 27 20:02:24 2015 +0800

----------------------------------------------------------------------
 docs/website/docs/index.html~                | 109 ----------------------
 docs/website/docs/installation-content.html~ |  34 -------
 docs/website/docs/intro-content.html~        |  72 --------------
 3 files changed, 215 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d63c3501/docs/website/docs/index.html~
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.html~ b/docs/website/docs/index.html~
deleted file mode 100644
index 5a1f2e8..0000000
--- a/docs/website/docs/index.html~
+++ /dev/null
@@ -1,109 +0,0 @@
----
-layout: docs
-title: Docs
----
-
-<!--
-* 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.
--->
-  
-<main id="main" >
-  <div class="container" >
-    <div id="zero" class=" main" >
-      <header style=" padding:2em 0 4em 0">
-        <div class="container" >
-          <h4 class="section-title"><span>Kylin Docs</span></h4>
-
-         
-     <div id="content-container" class="animated fadeIn">
-       
-
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
-<p class="content-p">
-If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
-</p>
-
-<hr/>
- 
-<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
-<p class="content-p">
-The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
-</p>
-<hr/>
- 
-<p class="content-header">What is MOLAP/ROLAP?</p>
-<p class="content-p">
-MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
-ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
-</p>
-<hr/>
-
-<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
-<p class="content-p">
-Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
-If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
-If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
-Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
-</p>
-<hr/>
-<p class="content-header">What does a Kylin query look like?</p>
-<p class="content-p">
-Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
-<div align="left">
-
-<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
-</div>
-<hr/>
-
-<p class="content-header">What Hadoop components does it work with?</p>
-<p class="content-p">
-Kylin depends on HDFS, MapReduce, Hive and HBase.
-Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
-HDFS is used to store intermediated files during cube building.
-HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
-</p>
-<hr/>
-
-<!-- Migrate wiki to here 
-<p class="content-header">Where can I find the technical details about Kylin?</p>
-<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin Wiki</a></p>
-
--->
-
-     </div>
-         
-         </div><!--end of rightcontent-->
-         
-         </div><!--end of row-->
-        </div>
-        <!-- /container --> 
-        
-        
-        
-      </header>
-    </div>
-    <!-- / section --> 
-  </div>
-  <!-- /container -->
- 
-
-  
-
-      
-    </header>
-  </section>
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d63c3501/docs/website/docs/installation-content.html~
----------------------------------------------------------------------
diff --git a/docs/website/docs/installation-content.html~ b/docs/website/docs/installation-content.html~
deleted file mode 100644
index 38ffdaf..0000000
--- a/docs/website/docs/installation-content.html~
+++ /dev/null
@@ -1,34 +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.
--->
-
----
-layout: default
-title: Docs
----
-
-<p class="content-header" style="margin-top:0.25em">On Hadoop CLI installation</p>
-<p class="content-p">
-On-Hadoop-CLI installation is for demo use, or for those who want to host their own web site to provide Kylin service: <br/>
-<a href="https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation">On Hadoop CLI installation Wiki</a>
-</p>
-<br/>
-<p class="content-header" style="margin-top:0.25em">Off Hadoop CLI Installation</p>
-<p class="content-p">Off-Hadoop-CLI installation is usually for devlopment use, when developpers want to run kylin test cases or applications at their development machine: 
-<br/><a href="https://github.com/KylinOLAP/Kylin/wiki/Off-Hadoop-CLI-Installation">Off Hadoop CLI Installation Wiki</a>
-</p>
-

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d63c3501/docs/website/docs/intro-content.html~
----------------------------------------------------------------------
diff --git a/docs/website/docs/intro-content.html~ b/docs/website/docs/intro-content.html~
deleted file mode 100644
index 0c96388..0000000
--- a/docs/website/docs/intro-content.html~
+++ /dev/null
@@ -1,72 +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.
--->
-
----
-layout: default
-title: Docs
----
-
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
-<p class="content-p">
-If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
-</p>
-
-<hr/>
- 
-<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
-<p class="content-p">
-The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
-</p>
-<hr/>
- 
-<p class="content-header">What is MOLAP/ROLAP?</p>
-<p class="content-p">
-MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
-ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
-</p>
-<hr/>
-
-<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
-<p class="content-p">
-Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
-If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
-If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
-Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
-</p>
-<hr/>
-<p class="content-header">What does a Kylin query look like?</p>
-<p class="content-p">
-Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
-<div align="left">
-
-<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
-</div>
-<hr/>
-
-<p class="content-header">What Hadoop components does it work with?</p>
-<p class="content-p">
-Kylin depends on HDFS, MapReduce, Hive and HBase.
-Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
-HDFS is used to store intermediated files during cube building.
-HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
-</p>
-<hr/>
-
-<p class="content-header">Where can I find the technical details about Kylin?</p>
-<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin OLAP</a></p>
-


[47/49] incubator-kylin git commit: Revert "rollback due to failed rc"

Posted by lu...@apache.org.
Revert "rollback due to failed rc"

This reverts commit 5706b7b3aadc82bb0ff27ab8b83aecd56cdede83.


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

Branch: refs/heads/0.7.1
Commit: 27cac9b1d523e2f7d574126d0fa7780640599eb2
Parents: 14cdc12
Author: Luke Han <lu...@apache.org>
Authored: Tue Jun 2 17:19:40 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:42 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml                            |   2 +-
 common/pom.xml                                 |   2 +-
 cube/pom.xml                                   |   2 +-
 dictionary/pom.xml                             |   2 +-
 invertedindex/pom.xml                          |   2 +-
 jdbc/pom.xml                                   |   2 +-
 job/pom.xml                                    |   2 +-
 metadata/pom.xml                               |   2 +-
 pom.xml                                        | 145 ++++++++++----------
 query/pom.xml                                  |   2 +-
 server/pom.xml                                 |   2 +-
 src/main/config/assemblies/source-assembly.xml |   3 +-
 storage/pom.xml                                |   2 +-
 13 files changed, 81 insertions(+), 89 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index cf06b15..8986f0c 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index e8cf42b..faed39d 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 0fdd708..07f9a58 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 524a52f..075fab1 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index dcf961b..8e89ee4 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 24feef9..7f707c7 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.1-incubating-SNAPSHOT</version>
+		<version>0.7.2-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index d3c0b55..44a0f5f 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e10777a..e842673 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a448518..e36601d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,8 +17,7 @@
  limitations under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
@@ -30,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.1-incubating-SNAPSHOT</version>
+    <version>0.7.2-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -663,21 +662,77 @@
             <id>apache-release</id>
             <build>
                 <plugins>
+                    <!-- Override the parent assembly execution to customize the assembly
+              descriptor and final name. -->
+                    <plugin>
+                        <artifactId>maven-assembly-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>source-release-assembly</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>single</goal>
+                                </goals>
+                                <configuration>
+                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+                                    <appendAssemblyId>false</appendAssemblyId>
+                                    <descriptor>src/main/config/assemblies/source-assembly.xml</descriptor>
+                                    <finalName>apache-kylin-${project.version}-src</finalName>
+                                    <tarLongFileMode>gnu</tarLongFileMode>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <version>2.16</version>
+                        <configuration>
+                            <reportsDirectory>${project.basedir}/../target/surefire-reports</reportsDirectory>
+                            <excludes>
+                                <exclude>**/BuildCubeWithEngineTest.java</exclude>
+                                <exclude>**/BuildIIWithEngineTest.java</exclude>
+                                <exclude>**/SampleCubeSetupTest.java</exclude>
+                                <exclude>**/KylinQueryTest.java</exclude>
+                                <exclude>**/SnapshotManagerTest.java</exclude>
+                                <exclude>**/HiveTableReaderTest.java</exclude>
+                                <exclude>**/TableControllerTest.java</exclude>
+
+                                <!--test case under server folder are problematic when tested against minicluster-->
+                                <exclude>**/ServiceTestBase.java</exclude>
+                                <exclude>**/JDBCDriverTest.java</exclude>
+                                <exclude>%regex[.*ControllerTest.*]</exclude>
+                                <exclude>%regex[.*ServiceTest.*]</exclude>
+
+                            </excludes>
+                            <systemProperties>
+                                <property>
+                                    <name>useSandbox</name>
+                                    <value>false</value>
+                                </property>
+                                <property>
+                                    <name>buildCubeUsingProvidedData</name>
+                                    <value>false</value>
+                                </property>
+                            </systemProperties>
+                            <argLine>-Xms1G -Xmx4G -XX:PermSize=128M -XX:MaxPermSize=512M</argLine>
+                        </configuration>
+                    </plugin>
                     <!-- Apache-RAT checks for files without headers.
-                    If run on a messy developer's sandbox, it will fail.
-                    This serves as a reminder to only build a release in a clean
-                    sandbox! -->
+                         If run on a messy developer's sandbox, it will fail.
+                         This serves as a reminder to only build a release in a clean
+                         sandbox! -->
                     <plugin>
                         <groupId>org.apache.rat</groupId>
                         <artifactId>apache-rat-plugin</artifactId>
                         <configuration>
+                            <numUnapprovedLicenses>0</numUnapprovedLicenses>
                             <excludes>
-                                <exclude>**/.idea/**</exclude>
-                                <exclude>**/.git/**</exclude>
+                                <exclude>.idea/**</exclude>
+                                <exclude>.git/**</exclude>
                                 <exclude>.settings/**</exclude>
-
                                 <!-- text files without comments -->
-                                <exclude>**//*.csv</exclude>
+                                <exclude>**/*.csv</exclude>
                                 <exclude>**/*.json</exclude>
                                 <exclude>**/*.md</exclude>
                                 <!-- binary files -->
@@ -695,18 +750,15 @@
 
                                 <exclude>docs/website/**</exclude>
 
+                                <!-- tomcat package -->
+                                <exclude>tomcat/**</exclude>
                                 <!-- front end libary and generated files -->
-                                <exclude>webapp/*.json</exclude>
-                                <exclude>webapp/*.js</exclude>
                                 <exclude>webapp/node_modules/**</exclude>
                                 <exclude>webapp/dist/**</exclude>
                                 <exclude>webapp/app/components/**</exclude>
                                 <!-- json configuration file-->
                                 <exclude>webapp/.bowerrc</exclude>
                                 <exclude>webapp/.jshintrc</exclude>
-
-
-
                                 <!-- generated dict files -->
                                 <exclude>dictionary/metastore_db/**</exclude>
 
@@ -715,10 +767,8 @@
                                 <exclude>webapp/app/css/AdminLTE.css</exclude>
 
                                 <!-- jdbc log -->
-                                <exclude>jdbc/kylin_jdbc.log*</exclude>
-
-                                <!-- HBase MiniCluster Testing Data -->
-                                <exclude>examples/test_case_data/minicluster/hbase-export.tar.gz</exclude>
+                                <exclude>jdbc/kylin_jdbc.log.*</exclude>
+                                <exclude>jdbc/kylin_jdbc.*</exclude>
 
                             </excludes>
                         </configuration>
@@ -744,63 +794,6 @@
                             </dependency>
                         </dependencies>
                     </plugin>
-                    <!-- Override the parent assembly execution to customize the assembly
-              descriptor and final name. -->
-                    <plugin>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>source-release-assembly</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>single</goal>
-                                </goals>
-                                <configuration>
-                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
-                                    <appendAssemblyId>false</appendAssemblyId>
-                                    <descriptor>src/main/config/assemblies/source-assembly.xml</descriptor>
-                                    <finalName>apache-kylin-${project.version}-src</finalName>
-                                    <tarLongFileMode>gnu</tarLongFileMode>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <version>2.16</version>
-                        <configuration>
-                            <reportsDirectory>${project.basedir}/../target/surefire-reports</reportsDirectory>
-                            <excludes>
-                                <exclude>**/BuildCubeWithEngineTest.java</exclude>
-                                <exclude>**/BuildIIWithEngineTest.java</exclude>
-                                <exclude>**/SampleCubeSetupTest.java</exclude>
-                                <exclude>**/KylinQueryTest.java</exclude>
-                                <exclude>**/SnapshotManagerTest.java</exclude>
-                                <exclude>**/HiveTableReaderTest.java</exclude>
-                                <exclude>**/TableControllerTest.java</exclude>
-
-                                <!--test case under server folder are problematic when tested against minicluster-->
-                                <exclude>**/ServiceTestBase.java</exclude>
-                                <exclude>**/JDBCDriverTest.java</exclude>
-                                <exclude>%regex[.*ControllerTest.*]</exclude>
-                                <exclude>%regex[.*ServiceTest.*]</exclude>
-
-                            </excludes>
-                            <systemProperties>
-                                <property>
-                                    <name>useSandbox</name>
-                                    <value>false</value>
-                                </property>
-                                <property>
-                                    <name>buildCubeUsingProvidedData</name>
-                                    <value>false</value>
-                                </property>
-                            </systemProperties>
-                            <argLine>-Xms1G -Xmx4G -XX:PermSize=128M -XX:MaxPermSize=512M</argLine>
-                        </configuration>
-                    </plugin>
-
                     <plugin>
                         <groupId>net.ju-n.maven.plugins</groupId>
                         <artifactId>checksum-maven-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 030482b..3881b4d 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index c99ed94..1578c62 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/src/main/config/assemblies/source-assembly.xml
----------------------------------------------------------------------
diff --git a/src/main/config/assemblies/source-assembly.xml b/src/main/config/assemblies/source-assembly.xml
index 02cd97b..d9f1501 100644
--- a/src/main/config/assemblies/source-assembly.xml
+++ b/src/main/config/assemblies/source-assembly.xml
@@ -85,8 +85,7 @@ limitations under the License.
                 <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
                 </exclude>
 
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?/docs/website(/.*)?]
-                </exclude>
+                <exclude>**/website/**</exclude>
             </excludes>
         </fileSet>
         <!-- LICENSE, NOTICE, DEPENDENCIES, git.properties, etc. calculated at build time -->

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/27cac9b1/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 177e731..0d5918a 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>


[30/49] incubator-kylin git commit: [maven-release-plugin] prepare release kylin-0.7.1-incubating

Posted by lu...@apache.org.
[maven-release-plugin] prepare release kylin-0.7.1-incubating


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

Branch: refs/heads/0.7.1
Commit: 3f1d315eebe9d3da1c708697413be34e4bd0d5c2
Parents: 47b9627
Author: Luke Han <lu...@apache.org>
Authored: Tue May 26 16:58:18 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:40 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   | 2 +-
 common/pom.xml        | 2 +-
 cube/pom.xml          | 2 +-
 dictionary/pom.xml    | 2 +-
 invertedindex/pom.xml | 2 +-
 jdbc/pom.xml          | 2 +-
 job/pom.xml           | 2 +-
 metadata/pom.xml      | 2 +-
 pom.xml               | 4 ++--
 query/pom.xml         | 2 +-
 server/pom.xml        | 2 +-
 storage/pom.xml       | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index cf06b15..9417503 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index e8cf42b..310ee93 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 0fdd708..d3f6915 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 524a52f..3d04215 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index dcf961b..10669e7 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 24feef9..9c29977 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.1-incubating-SNAPSHOT</version>
+		<version>0.7.1-incubating</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index d3c0b55..e49c792 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e10777a..2c7e7ab 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 404ce4a..9ffd26a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.1-incubating-SNAPSHOT</version>
+    <version>0.7.1-incubating</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -145,7 +145,7 @@
         <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</developerConnection>
         <url>https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</url>
-        <tag>apache-kylin-0.7.1-incubating</tag>
+        <tag>kylin-0.7.1-incubating</tag>
     </scm>
 
     <dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 030482b..60b09e1 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index c99ed94..276e384 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3f1d315e/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 177e731..3b18de0 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <dependencies>


[19/49] incubator-kylin git commit: KYLIN-753 add shell to find hbase-common.jar in kylin.sh and then add the dependency in MR job

Posted by lu...@apache.org.
KYLIN-753 add shell to find hbase-common.jar in kylin.sh and then add the dependency in MR job


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

Branch: refs/heads/0.7.1
Commit: 7417cf131945f6af42c48625d1c38cd7cdaa7806
Parents: f418cdf
Author: shaofengshi <sh...@apache.org>
Authored: Fri May 29 11:32:47 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Fri May 29 12:54:52 2015 +0800

----------------------------------------------------------------------
 bin/find-hbase-dependency.sh                    | 23 ++++++++++++++
 bin/kylin.sh                                    |  4 ++-
 examples/test_case_data/sandbox/mapred-site.xml |  2 +-
 .../kylin/job/hadoop/AbstractHadoopJob.java     | 32 +++++++++++++-------
 4 files changed, 48 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7417cf13/bin/find-hbase-dependency.sh
----------------------------------------------------------------------
diff --git a/bin/find-hbase-dependency.sh b/bin/find-hbase-dependency.sh
new file mode 100644
index 0000000..daa3db3
--- /dev/null
+++ b/bin/find-hbase-dependency.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+hbase_classpath=`hbase classpath`
+arr=(`echo $hbase_classpath | cut -d ":"  --output-delimiter=" " -f 1-`)
+hbase_common_path=
+for data in ${arr[@]}
+do
+    result=`echo $data | grep -e 'hbase-common[0-9\.-]*jar'`
+    if [ $result ]
+    then
+        hbase_common_path=$data
+    fi
+done
+
+if [ -z "$hbase_common_path" ]
+then
+    echo "hbase-common lib not found"
+    exit 1
+fi
+
+hbase_dependency=${hbase_common_path}
+echo "hbase dependency: $hbase_dependency"
+export hbase_dependency
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7417cf13/bin/kylin.sh
----------------------------------------------------------------------
diff --git a/bin/kylin.sh b/bin/kylin.sh
index 6114542..46c640f 100644
--- a/bin/kylin.sh
+++ b/bin/kylin.sh
@@ -42,8 +42,9 @@ then
         then spring_profile="sandbox"
     fi
 
-    #retrive $hive_dependency
+    #retrive $hive_dependency and $hbase_dependency
     source ${dir}/find-hive-dependency.sh
+    source ${dir}/find-hbase-dependency.sh
     #retrive $KYLIN_EXTRA_START_OPTS
     if [ -f "${dir}/setenv.sh" ]
         then source ${dir}/setenv.sh
@@ -63,6 +64,7 @@ then
     -Dcatalina.home=${tomcat_root} \
     -Djava.io.tmpdir=${tomcat_root}/temp  \
     -Dkylin.hive.dependency=${hive_dependency} \
+    -Dkylin.hbase.dependency=${hbase_dependency} \
     -Dspring.profiles.active=${spring_profile} \
     org.apache.hadoop.util.RunJar ${tomcat_root}/bin/bootstrap.jar  org.apache.catalina.startup.Bootstrap start > ${tomcat_root}/logs/kylin.log 2>&1 & echo $! > ${KYLIN_HOME}/pid &
     echo "A new Kylin instance is started by $USER, stop it using \"kylin.sh stop\""

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7417cf13/examples/test_case_data/sandbox/mapred-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/mapred-site.xml b/examples/test_case_data/sandbox/mapred-site.xml
index 8d345d1..f2b49c5 100644
--- a/examples/test_case_data/sandbox/mapred-site.xml
+++ b/examples/test_case_data/sandbox/mapred-site.xml
@@ -43,7 +43,7 @@
 
     <property>
         <name>mapreduce.application.classpath</name>
-        <value>/tmp/kylin/*,$HADOOP_CONF_DIR,/usr/hdp/current/hive-client/conf/,/usr/hdp/${hdp.version}/hive/lib/hive-metastore.jar,/usr/hdp/${hdp.version}/hive/lib/hive-exec.jar,/usr/hdp/${hdp.version}/hive-hcatalog/share/hcatalog/*,$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure</value>
+        <value>/tmp/kylin/*,$HADOOP_CONF_DIR,/usr/hdp/${hdp.version}/hbase/lib/hbase-common.jar,/usr/hdp/current/hive-client/conf/,/usr/hdp/${hdp.version}/hive/lib/hive-metastore.jar,/usr/hdp/${hdp.version}/hive/lib/hive-exec.jar,/usr/hdp/${hdp.version}/hive-hcatalog/share/hcatalog/*,$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure</value>
     </property>
 
     <property>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7417cf13/job/src/main/java/org/apache/kylin/job/hadoop/AbstractHadoopJob.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/AbstractHadoopJob.java b/job/src/main/java/org/apache/kylin/job/hadoop/AbstractHadoopJob.java
index 9cd01a4..d95d9a9 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/AbstractHadoopJob.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/AbstractHadoopJob.java
@@ -152,21 +152,31 @@ public abstract class AbstractHadoopJob extends Configured implements Tool {
         }
 
         String kylinHiveDependency = System.getProperty("kylin.hive.dependency");
-        logger.info("append kylin.hive.dependency: " + kylinHiveDependency + " to " + MAP_REDUCE_CLASSPATH);
+        String kylinHBaseDependency = System.getProperty("kylin.hbase.dependency");
+        logger.info("append kylin.hive.dependency: " + kylinHiveDependency + " and kylin.hive.dependency: " + kylinHBaseDependency + " to " + MAP_REDUCE_CLASSPATH);
+
+        Configuration jobConf = job.getConfiguration();
+        String classpath = jobConf.get(MAP_REDUCE_CLASSPATH);
+        if (classpath == null || classpath.length() == 0) {
+            logger.info("Didn't find " + MAP_REDUCE_CLASSPATH + " in job configuration, will run 'mapred classpath' to get the default value.");
+            classpath = getDefaultMapRedClasspath();
+            logger.info("The default mapred classpath is: " + classpath);
+        }
+
+
+        if (kylinHBaseDependency != null) {
+            // yarn classpath is comma separated
+            kylinHBaseDependency = kylinHBaseDependency.replace(":", ",");
+            classpath = classpath + "," + kylinHBaseDependency;
+        }
+
         if (kylinHiveDependency != null) {
             // yarn classpath is comma separated
             kylinHiveDependency = kylinHiveDependency.replace(":", ",");
-            Configuration jobConf = job.getConfiguration();
-            String classpath = jobConf.get(MAP_REDUCE_CLASSPATH);
-            if (classpath == null || classpath.length() == 0) {
-                logger.info("Didn't find " + MAP_REDUCE_CLASSPATH + " in job configuration, will run 'mapred classpath' to get the default value.");
-                classpath = getDefaultMapRedClasspath();
-                logger.info("The default mapred classpath is: " + classpath);
-            }
-
-            jobConf.set(MAP_REDUCE_CLASSPATH, classpath + "," + kylinHiveDependency);
-
+            classpath = classpath + "," + kylinHiveDependency;
         }
+
+        jobConf.set(MAP_REDUCE_CLASSPATH, classpath + "," + kylinHiveDependency);
         logger.info("Hadoop job classpath is: " + job.getConfiguration().get(MAP_REDUCE_CLASSPATH));
     }
 


[23/49] incubator-kylin git commit: KYLIN-669, replace eng_com.dic with SCOWL dict file which as a clear license

Posted by lu...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/04838ce5/dictionary/src/test/resources/dict/english-words.80 (scowl-2015.05.18).txt
----------------------------------------------------------------------
diff --git a/dictionary/src/test/resources/dict/english-words.80 (scowl-2015.05.18).txt b/dictionary/src/test/resources/dict/english-words.80 (scowl-2015.05.18).txt
new file mode 100644
index 0000000..ecc2104
--- /dev/null
+++ b/dictionary/src/test/resources/dict/english-words.80 (scowl-2015.05.18).txt	
@@ -0,0 +1,139304 @@
+OK'd
+OK'ing
+aahed
+aahing
+aahs
+aal
+aaliis
+aals
+aardwolf's
+aargh
+aarrgh
+aarrghh
+aas
+aasvogel
+aasvogels
+aba's
+abac
+abaca's
+abacs
+abacterial
+abactinal
+abactinally
+abactor
+abactors
+abaka
+abakas
+abampere's
+aband
+abandon's
+abandonee
+abandonees
+abandoner
+abandoners
+abandonments
+abapical
+abasedly
+abasements
+abaser
+abasers
+abashless
+abashments
+abasia
+abasia's
+abasias
+abask
+abatable
+abatements
+abater
+abaters
+abatis's
+abatjour
+abatjours
+abator
+abators
+abattis
+abattis's
+abattises
+abattu
+abature
+abatures
+abaxile
+abaya
+abayas
+abbacy's
+abbas
+abbotcies
+abbotcy
+abbotship
+abbotships
+abbreviators
+abbreviatory
+abbreviature
+abbs
+abcoulomb's
+abdabs
+abdicable
+abdicant
+abdicator's
+abdomina
+abdominal's
+abdominals
+abdominoplasties
+abdominoplasty
+abducens
+abducens's
+abducent's
+abducentes
+abductores
+abear
+abearing
+abears
+abecedarian's
+abegging
+abeigh
+abele's
+abelia
+abelia's
+abelian
+abelias
+abelmosk's
+aberdevine
+aberdevines
+aberrance's
+aberrancy's
+aberrant's
+aberrants
+aberrate
+aberrated
+aberrates
+aberrating
+abessives
+abetment's
+abettal
+abettals
+abeyances
+abeyancies
+abeyancy
+abfarad's
+abhenry's
+abhenrys
+abhominable
+abhorrences
+abhorrency
+abhorrer's
+abidances
+abidden
+abiders
+abidings
+abieses
+abigails
+abiogenesis's
+abiogenetical
+abiogenetically
+abiogenic
+abiogenically
+abiogenist
+abiogenist's
+abiogenists
+abiological
+abioses
+abiotically
+abiturient
+abiturients
+abjected
+abjecting
+abjections
+abjectnesses
+abjects
+abjoint
+abjointed
+abjointing
+abjoints
+abjunction
+abjunctions
+ablactation
+ablactation's
+ablatitious
+ablatival
+ablatively
+ablator
+ablators
+ablaut's
+abled
+ablegate
+ablegates
+ableism's
+ableists
+ables
+ablet
+ablets
+ablings
+ablins
+ablow
+abluent
+abluents
+ablush
+abluted
+ablutionary
+ablutomane
+ablutomanes
+abmhos
+abnegations
+abnegator's
+abnormal's
+abnormalism
+abnormals
+abnormities
+abnormous
+abo
+aboded
+abodement
+aboding
+abohm's
+aboideau
+aboideaus
+aboideaux
+aboil
+aboiteau
+aboiteaus
+aboiteaux
+abolishable
+abolishers
+abolishment's
+abolitional
+abolitionary
+abolitionisms
+abolitions
+abolla
+abollae
+abollas
+aboma
+abomas
+abomasa's
+abomasal
+abomasi
+abomasum's
+abomasus
+abomasuses
+abominableness
+abominator's
+abondance
+abondances
+abonnement
+abonnements
+aboon
+aborally
+abord
+aborded
+abording
+abords
+abore
+aboriginalism
+aboriginalities
+aboriginality
+aborne
+aborter
+aborters
+aborticide's
+abortifacient's
+abortional
+abortiveness
+abortivenesses
+abortus
+abortus's
+abortuses
+abos
+abought
+aboulia's
+aboulic
+aboundingly
+abouts
+abovementioned
+aboves
+abracadabras
+abrachia
+abrachia's
+abrachias
+abradable
+abradant's
+abrader's
+abraid
+abraided
+abraiding
+abraids
+abram
+abranchial
+abranchiates
+abrash
+abrashes
+abrasivenesses
+abraxases
+abray
+abrazo
+abrazos
+abreaction's
+abreactive
+abricock
+abridgable
+abridgeable
+abridger's
+abrim
+abrin
+abrins
+abris
+abristle
+abroads
+abrogable
+abrogative
+abrosia
+abrosias
+abruption's
+abruptnesses
+abr�g�
+abscinded
+abscinding
+abscinds
+abscisin
+abscisins
+absciss
+abscisse
+abscisses
+abscissin
+abscissins
+abscissions
+abscondence
+abscondences
+abseilers
+abseilings
+absenteeisms
+absenter
+absenters
+absentmindednesses
+absey
+absinthes
+absinthiated
+absit
+absolutenesses
+absoluter
+absolutions
+absolutisms
+absolutive
+absolutized
+absolutizes
+absolutizing
+absolutory
+absolvent
+absolvents
+absolver's
+absolvitor
+absolvitors
+absorbabilities
+absorbability
+absorbances
+absorbancies
+absorbancy
+absorbate
+absorbate's
+absorbates
+absorbedly
+absorbedness
+absorbednesses
+absorbefacients
+absorbencies
+absorber's
+absorptance's
+absorptiometer
+absorptiometers
+absorptiveness
+absorptivity's
+abstemiousnesses
+abstentionism
+abstentionist
+abstentionists
+abstentious
+absterge
+absterged
+abstergents
+absterges
+absterging
+abstersion
+abstersions
+abstersive
+abstinences
+abstinency
+abstinent's
+abstractable
+abstractednesses
+abstracter's
+abstractest
+abstractional
+abstractionism's
+abstractionist's
+abstractive
+abstractively
+abstractor
+abstractor's
+abstractors
+abstrict
+abstricted
+abstricting
+abstrictions
+abstricts
+abstrusenesses
+abstruser
+abstrusest
+abstrusities
+abstrusity
+abstrusity's
+absurd's
+absurdisms
+absurdnesses
+absurds
+abthane
+abthanes
+abubble
+abuilding
+abulia's
+abuna
+abunas
+abundancies
+abundancy
+abune
+aburst
+abusable
+abusage
+abusages
+abusion
+abusions
+abusivenesses
+abutilons
+abutter's
+abvolt's
+abwatt's
+abye
+abyeing
+abyes
+abys
+abysm's
+abyssopelagic
+academes
+academias
+academicalism
+academicals
+academicism's
+academism's
+academist
+academists
+acajou
+acajous
+acalephan
+acalephans
+acalephas
+acalephes
+acalephs
+acanaceous
+acanth
+acantha
+acanthae
+acanthas
+acanthin
+acanthine
+acanthocephalan's
+acanthopterygian's
+acanths
+acapnia
+acapnia's
+acapnias
+acappella
+acarbose
+acarboses
+acari's
+acarian
+acariasis's
+acaricidal
+acaricide's
+acarid's
+acaridan
+acaridans
+acaridean
+acarideans
+acaridian
+acaridians
+acaridomatia
+acaridomatium
+acarine
+acarine's
+acarines
+acarodomatia
+acarodomatium
+acarologies
+acarologist
+acarologists
+acarophily
+acarophobia
+acarophobia's
+acarophobias
+acarpellous
+acarpelous
+acarus's
+acatalectics
+acatalepsy
+acataleptic
+acataleptics
+acatamathesia
+acater
+acaters
+acates
+acatour
+acatours
+acaudate
+acaulescence
+acaulescences
+acauline
+acaulose
+acaulous
+acausal
+accabl�
+accedences
+acceder
+acceders
+accelerando's
+accelerants
+acceleratingly
+acceleratory
+accelerometer's
+accend
+accension
+accensions
+accentless
+accentor's
+accentuality
+accentually
+accentuations
+acceptabilities
+acceptablenesses
+acceptancy
+acceptants
+acceptedly
+acceptee
+acceptees
+accepters
+acceptilation
+acceptilations
+acceptingly
+acceptingness
+acceptingnesses
+acceptive
+acceptivity
+acceptor's
+accessibilities
+accessiblenesses
+accessorial
+accessorily
+accessoriness
+accessorinesses
+acciaccatura's
+acciaccature
+accidence's
+accidentalism
+accidentality
+accidentalness
+accidentalnesses
+accidented
+accidia
+accidias
+accidies
+accinge
+accinged
+accinges
+accinging
+accipiters
+accipitrines
+accite
+accited
+accites
+acciting
+acclaimers
+acclimatation
+acclimations
+acclimatisations
+acclimatizations
+acclivous
+accloy
+accoast
+accoasted
+accoasting
+accoasts
+accoil
+accoils
+accoladed
+accolading
+accommodable
+accommodational
+accommodationists
+accommodativeness
+accommodativenesses
+accommodator
+accommodators
+accompanier
+accompaniers
+accompanyist's
+accomplishable
+accomplishers
+accompt
+accomptable
+accomptant
+accompted
+accompting
+accompts
+accordable
+accordances
+accordancies
+accordancy
+accordantly
+accorder
+accorders
+accordiable
+accostable
+accouchement's
+accoucheur's
+accoucheuse
+accoucheuse's
+accoucheuses
+accountabilities
+accountablenesses
+accountancies
+accountantship
+accountantship's
+accountantships
+accountings
+accourt
+accourted
+accourting
+accourts
+accoustrement
+accoustrements
+accoutreing
+accoy
+accra
+accras
+accreditable
+accreditations
+accrescence
+accrescences
+accruable
+accruement
+accruement's
+accruements
+accubation
+accubations
+accultural
+acculturational
+acculturations
+accumbencies
+accumbency
+accumulable
+accumulatively
+accumulativeness
+accumulativenesses
+accuratenesses
+accurse
+accursednesses
+accurses
+accursing
+accusable
+accusal's
+accusant
+accusants
+accusatival
+accusatively
+accusatorially
+accustomary
+accustomation
+accustomations
+accustomedness
+accustomednesses
+accustrement
+accustrements
+acedia's
+aceldama
+aceldamas
+acellular
+acequia
+acequias
+acer
+aceraceous
+acerated
+acerbities
+acerola
+acerola's
+acerolas
+acerous
+acers
+acervately
+acervation
+acervations
+acervuli
+acervuli's
+acervulus
+acervulus's
+acescence
+acescency
+acescents
+aceta
+acetabula
+acetabular
+acetabulum's
+acetal's
+acetaldehyde's
+acetamid
+acetamide's
+acetamids
+acetaminophens
+acetanilid
+acetanilid's
+acetanilide's
+acetanilids
+acetated
+acetazolamide
+acetazolamides
+acetification
+acetifications
+acetifier
+acetifiers
+acetin
+acetins
+acetones
+acetonitrile
+acetonitriles
+acetophenetidin's
+acetose
+acetoxyl
+acetoxyls
+acetums
+acetyl's
+acetylation
+acetylations
+acetylative
+acetylcholine's
+acetylcholinesterase
+acetylcholinesterases
+acetylenes
+acetylenic
+acetylic
+acetylsalicylate
+acetylsalicylates
+achaenocarps
+achage
+achages
+achalasia
+achalasias
+acharn�
+acharya
+acharyas
+achenial
+achillea
+achillea's
+achilleas
+achimenes
+achimenes's
+achinesses
+aching's
+achings
+achiote
+achiotes
+achira
+achira's
+achiral
+achiras
+achkan
+achkans
+achlorhydria's
+achlorhydric
+acholia
+acholia's
+acholias
+achondrite's
+achondritic
+achondroplasia's
+achondroplastic
+achromaticities
+achromatin's
+achromatism's
+achromatopsia
+achromats
+acicula's
+aciculae
+aciculated
+aciculums
+acidanthera
+acidantheras
+acidemia's
+acidemias
+acidfreak
+acidfreaks
+acidhead
+acidheads
+acidifiable
+acidification's
+acidifiers
+acidimeters
+acidimetric
+acidimetry's
+acidities
+acidnesses
+acidophil's
+acidophile
+acidophile's
+acidophilic
+acidoses
+acidulation
+acidulations
+acidurias
+acidy
+acierage
+acierated
+acierates
+acierating
+acieration
+aciform
+acinaceous
+acinar
+acini's
+acinic
+acinose
+acinous
+acinus's
+ackee
+ackee's
+ackees
+ackers
+acknowledgeably
+acknowledgedly
+acknowledger
+acknowledgers
+aclinic
+acmatic
+acmic
+acmite
+acmites
+acnes
+acnodes
+acock
+acockbill
+acoelomate
+acoelomates
+acoelous
+acoemeti
+acold
+acolouthic
+acolouthos
+acolouthoses
+acoluthic
+aconitic
+aconitine
+aconitum
+aconitums
+acorned
+acosmist
+acosmists
+acotyledonous
+acotyledons
+acouchi
+acouchies
+acouchis
+acouchy
+acoustic's
+acoustician's
+acoustoelectric
+acoustoelectrically
+acoustooptical
+acoustooptics
+acquaintanceships
+acquest
+acquests
+acquiescences
+acquiescingly
+acquight
+acquighted
+acquighting
+acquights
+acquirability
+acquiral
+acquirals
+acquirements
+acquirer's
+acquisitional
+acquisitivenesses
+acquisitor
+acquisitors
+acquist
+acquite
+acquited
+acquites
+acquiting
+acquitment
+acquittance's
+acquitter
+acquitters
+acrasia
+acrasias
+acrasin
+acrasins
+acrawl
+acridin
+acridines
+acridities
+acridnesses
+acriflavin
+acriflavines
+acrimonies
+acrimoniousnesses
+acritarch
+acritarchs
+acroamatic
+acroamatical
+acrobatism
+acrocentric
+acrocentrics
+acrocephalic
+acrocephalies
+acrocephalous
+acrocephaly
+acrocephaly's
+acrodont's
+acrogen's
+acrogenic
+acrogenous
+acrogenously
+acrolect
+acrolectal
+acrolects
+acrolein's
+acrolithic
+acroliths
+acromegalics
+acromegaly's
+acromia
+acromial
+acromion's
+acron
+acronal
+acronic
+acronical
+acrons
+acronycal
+acronychal
+acronychally
+acronymania
+acronymically
+acropetally
+acrophobe
+acrophobes
+acrophobias
+acrophobics
+acrophonetic
+acrophonic
+acrophony
+acrosomal
+acrosome
+acrosome's
+acrosomes
+acrospires
+acrostical
+acrostically
+acroteria
+acroterial
+acroterium
+acroteriums
+acroters
+acrotic
+acrotism
+acrotisms
+acrylamides
+acrylate
+acrylate's
+acrylates
+acrylonitrile's
+acta
+actabilities
+actability
+actin's
+actinally
+actings
+actinia's
+actiniae
+actinian
+actinian's
+actinians
+actinically
+actinism's
+actiniums
+actinobacilli
+actinobacillosis
+actinobacillus
+actinoids
+actinolite's
+actinomere
+actinomeres
+actinometer's
+actinometric
+actinometries
+actinometry
+actinometry's
+actinomorphies
+actinomorphous
+actinomorphy
+actinomyces
+actinomyces's
+actinomycetal
+actinomycete's
+actinomycetous
+actinomycin's
+actinomycosis's
+actinomycotic
+actinons
+actinopod's
+actinotherapy's
+actinouraniums
+actinozoan's
+actioned
+actioner
+actioners
+actioning
+actionist
+actionists
+activenesses
+activin
+activins
+activisms
+activize
+activized
+activizes
+activizing
+actomyosin's
+acton
+actons
+actorish
+actressy
+actual's
+actualist
+actualists
+actualit�
+actualit�s
+actuations
+acture
+acuities
+aculeated
+aculei's
+aculeus's
+acumens
+acumination
+acuminations
+acuminous
+acupoint
+acupoints
+acupressures
+acupunctures
+acushla
+acushlas
+acutances
+acutenesses
+acyclovirs
+acylate
+acylated
+acylates
+acylating
+acylation
+acylations
+acyloin
+acyloins
+acyls
+adagial
+adamance's
+adamancies
+adamantean
+adamants
+adamsites
+adaptabilities
+adaptableness
+adaptablenesses
+adaptationally
+adaptative
+adaptedness
+adaptednesses
+adaptivenesses
+adaptivities
+adarbitrium
+adaw
+adays
+addax's
+addebted
+addedly
+addeem
+addenda's
+adderstone
+adderstones
+adderwort
+adderworts
+addictedness
+addio
+addios
+additaments
+addititious
+additivities
+addleheaded
+addlement
+addoom
+addorsed
+addressabilities
+addressability
+addresser
+addressers
+addressor
+addressors
+addrest
+adducent
+adducers
+adduction's
+adductive
+adductor's
+adeem
+adeemed
+adeeming
+adeems
+adelantado
+adelantados
+ademptions
+adenectomies
+adenines
+adenitis's
+adenocarcinoma's
+adenocarcinomata
+adenocarcinomatous
+adenohypophyseal
+adenohypophyses
+adenohypophysial
+adenohypophysis
+adenohypophysis's
+adenoidectomy's
+adenoma's
+adenomata
+adenomatoid
+adenomatous
+adenoses
+adenosine's
+adenosis
+adenosis's
+adenoviral
+adenovirus's
+adenyl
+adenyls
+adepter
+adeptest
+adeptnesses
+adequacies
+adequatenesses
+adequative
+adermin's
+adespota
+adessives
+adharma
+adherences
+adherend
+adherends
+adherently
+adhesional
+adhesions
+adhesivenesses
+adhibited
+adhibiting
+adhibition
+adhibitions
+adhibits
+adiaphora
+adiaphorist
+adiaphoristic
+adiaphorists
+adiaphoron
+adiathermanous
+adiathermic
+adigranth
+adipic
+adipoceres
+adipocyte
+adipocytes
+adipose's
+adiposeness
+adiposeness's
+adiposenesses
+adiposes
+adiposis
+adiposis's
+adiposity's
+adipous
+adipsin
+adipsins
+adit's
+adi�s's
+adjacencies
+adjectively
+adjoints
+adjudgements
+adjudgments
+adjunction's
+adjunctively
+adjunctly
+adjurer
+adjurers
+adjuror
+adjurors
+adjustabilities
+adjustability
+adjustably
+adjustive
+adjustmental
+adjutage
+adjutages
+adjutancies
+adjuvancy
+adjuvant's
+adland
+admass's
+admeasurements
+admeasurer
+admeasurers
+admen's
+adminicles
+adminicular
+adminiculate
+adminiculated
+adminiculates
+adminiculating
+administrants
+administratorship
+administratrices
+administratrix
+administratrixes
+admins
+admirability's
+admirableness's
+admiralship
+admiralships
+admiralties
+admirations
+admirative
+admissibilities
+admissiblenesses
+admittable
+admittee
+admittees
+admitter
+admitters
+admonisher's
+admonitive
+admonitor
+admonitorily
+admonitors
+adnascent
+adnation
+adnations
+adnexa
+adnexa's
+adnexal
+adnominal
+adnoun
+adnoun's
+adnouns
+adobelike
+adobo
+adobo's
+adobos
+adolescently
+adonis's
+adoors
+adoptabilities
+adoptability
+adoptees
+adoptianism
+adoptianisms
+adoptianist
+adoptianists
+adoptionism
+adoptionisms
+adoptionist
+adoptionists
+adoptious
+adorabilities
+adorability
+adorability's
+adorablenesses
+adoral
+adorations
+adorners
+ados
+adoze
+adpress
+adpressed
+adpresses
+adpressing
+adrad
+adread
+adred
+adrenalectomies
+adrenalectomized
+adrenalectomy
+adrenalectomy's
+adrenalines
+adrenalize
+adrenalized
+adrenalizes
+adrenalizing
+adrenally
+adrenergic
+adrenergically
+adrenochrome
+adrenochromes
+adrenocortical
+adrenocorticosteroid
+adrenocorticosteroids
+adrenocorticotrophic
+adrenocorticotrophin
+adrenocorticotrophin's
+adrenocorticotrophins
+adrenocorticotropin
+adrenocorticotropin's
+adrenocorticotropins
+adrenolytic
+adrenolytics
+adriamycin
+adroiter
+adroitest
+adroitnesses
+adry
+adscititiously
+adscript
+adscriptions
+adscripts
+adsorbabilities
+adsorbability
+adsorbate's
+adsorber
+adsorbers
+adsuki
+adsum
+adularias
+adulations
+adulterators
+adulterines
+adulterously
+adulthoods
+adultlike
+adultly
+adultness
+adultnesses
+adumbrations
+adumbratively
+adunc
+aduncate
+aduncated
+aduncity
+aduncous
+advanceman
+advancemen
+advancers
+advantageousness
+advantageousness's
+advantageousnesses
+advect
+advected
+advecting
+advection's
+advective
+advects
+advened
+advenes
+advening
+adventitia's
+adventitial
+adventitiousness
+adventitiousnesses
+adventive
+adventively
+adventives
+adventuresomely
+adventuresomeness
+adventuresomenesses
+adventurism's
+adventuristic
+adventurousnesses
+adversariness
+adversarinesses
+adversatively
+adversatives
+adversenesses
+advertence's
+advertencies
+advertency
+advertency's
+advertently
+advertisings
+advew
+adviceful
+advisabilities
+advisableness
+advisablenesses
+advisatory
+advisedness
+advisee's
+advisements
+advisership
+advisorate
+advisorates
+advocaats
+advocacies
+advocations
+advocative
+advocators
+advocatory
+advowson's
+adward
+adwoman
+adwomen
+adynamia's
+adynamic
+adyta
+adzed
+adzing
+adzuki
+adzukis
+aechmea
+aechmeas
+aecia's
+aecial
+aecidia
+aecidial
+aecidiospore
+aecidiospores
+aecidium
+aeciospore's
+aecium's
+aediles
+aedileship
+aedileships
+aedine
+aefald
+aefauld
+aegirine
+aegirite
+aegises
+aeglogues
+aegrotats
+aeneus
+aeolipyle
+aeolipyles
+aeolotropy
+aeonic
+aepyornis
+aepyornis's
+aepyornises
+aequorin
+aequorins
+aerations
+aerenchyma
+aerenchymas
+aerenchymata
+aerenchymatous
+aeriality
+aeried
+aerier
+aeriest
+aerily
+aeroballistic
+aerobat
+aerobats
+aerobe's
+aerobia
+aerobicize
+aerobicized
+aerobicizes
+aerobicizing
+aerobiological
+aerobiologically
+aerobiologies
+aerobiologist
+aerobiologists
+aerobiont
+aerobionts
+aerobiosis's
+aerobiotic
+aerobiotically
+aerobium
+aerobomb
+aerobombs
+aerobrake
+aerobraked
+aerobrakes
+aerobus
+aerobuses
+aeroculture
+aerocultures
+aerodart
+aerodarts
+aeroduct
+aeroducts
+aerodynamicists
+aerodynes
+aeroelastic
+aeroelastician
+aeroelasticians
+aeroelasticities
+aeroelasticity
+aeroembolism's
+aerogels
+aerogenerator
+aerogenerator's
+aerogenerators
+aerogram's
+aerographers
+aerographs
+aerohydroplane
+aerohydroplanes
+aerolite's
+aerolith
+aerolithology
+aeroliths
+aerolitic
+aerologists
+aeromagnetic
+aeromagnetically
+aeromagnetics
+aeromechanical
+aeromechanically
+aeromedicine
+aeromedicine's
+aeromedicines
+aerometeorographs
+aerometries
+aeromotor
+aeromotors
+aeronaut's
+aeronautically
+aeroneuroses
+aeronomer
+aeronomers
+aeronomic
+aeronomical
+aeronomies
+aeronomist
+aeronomists
+aeronomy
+aeropauses
+aerophagia's
+aerophobe
+aerophobes
+aerophobias
+aerophobic
+aerophones
+aerophore
+aerophores
+aerophyte's
+aeroplankton
+aerosat
+aerosats
+aeroshell
+aeroshells
+aerosiderite
+aerosolization
+aerosolizations
+aerosolize
+aerosolized
+aerosolizes
+aerosolizing
+aerospaces
+aerospheres
+aerostatical
+aerostats
+aerotactic
+aerotaxis
+aerothermodynamic
+aerotrain
+aerotrains
+aerotropic
+aerotropism
+aesces
+aesir
+aesthetic's
+aestheticisms
+aestheticist
+aestheticists
+aether's
+aethereal
+aethrioscope
+aethrioscopes
+aetiological
+afar's
+afara
+afaras
+afars
+afear
+afeared
+afearing
+afears
+affabilities
+affabler
+affablest
+affaire's
+affear
+affeard
+affeare
+affeared
+affearing
+affears
+affectabilities
+affectability
+affectable
+affectedness
+affectedness's
+affectednesses
+affecter
+affecters
+affectionally
+affectionateness
+affectionateness's
+affectionatenesses
+affectioned
+affectioning
+affectionless
+affectivities
+affectivity
+affectlessly
+affectlessnesses
+affeered
+affeering
+affeerment
+affeers
+affenpinscher's
+afferent's
+afferently
+afferents
+affettuosos
+affiance's
+affiants
+affiches
+affied
+affiliable
+affinely
+affines
+affirmably
+affirmance
+affirmances
+affirmants
+affirmers
+affirmingly
+affixable
+affixal
+affixation's
+affixer
+affixers
+affixial
+affixment
+affixments
+afflated
+afflation
+afflations
+afflatuses
+afflicter
+afflicters
+afflictings
+affluences
+affluencies
+affluency
+affluent's
+affluentness
+affluents
+affluenza
+affluxes
+affluxion
+affluxions
+afforce
+afforced
+afforcement
+afforcements
+afforces
+afforcing
+affordabilities
+afforestable
+afforestations
+affranchisement
+affrap
+affrayed
+affrayer
+affrayers
+affraying
+affreightment
+affreightments
+affret
+affricate's
+affricated
+affrication
+affrication's
+affrications
+affricative's
+affrightedly
+affrighten
+affrightened
+affrightening
+affrightens
+affrightful
+affrightment
+affrightments
+affrontingly
+affrontings
+affrontive
+affront�
+affront�e
+affusion's
+affy
+afghani's
+aficionada
+aficionadas
+afikomen
+afikomens
+aflaj
+aflatoxins
+aforehand
+aforethought's
+aforethoughts
+afortiori
+afreets
+afrits
+afro
+afront
+afrormosia
+afrormosias
+afros
+aftercares
+afterclaps
+aftercrop
+afterdamp's
+afterdeck's
+afterdinner
+aftereye
+aftergame
+aftergames
+aftergrass
+aftergrasses
+aftergrowths
+afterhours
+afterings
+afterlight
+afterpains
+afterpains's
+afterpiece's
+aftersales
+aftersensation's
+aftershaft's
+aftersupper
+afterswarm
+afterswarms
+aftertax
+aftertimes
+afterworld's
+aftosa
+aftosas
+ag
+agacerie
+agalactia
+agalactia's
+agallochs
+agalmatolite
+agalwood
+agalwoods
+agama's
+agametes
+agami
+agamically
+agamid
+agamid's
+agamids
+agamies
+agamis
+agammaglobulinemia
+agammaglobulinemia's
+agammaglobulinemias
+agammaglobulinemic
+agamogenesis's
+agamoid
+agamoids
+agamospermies
+agamospermy
+agamous
+agamy
+agapae
+agapae's
+agapanthus's
+agapeic
+agapes
+agaric's
+agarose
+agaroses
+agars
+agas
+agast
+agateware's
+agathodaimon
+agatized
+agatizing
+agatoid
+agaves
+agaze
+agazed
+aga�ant
+aga�ante
+agedly
+agedness
+agedness's
+agednesses
+ageisms
+agelast
+agelastic
+agelasts
+agelessnesses
+agelong
+agemate
+agemates
+agen
+agendaless
+agendum
+agendum's
+agendums
+agene
+agenes
+agenesia
+agenesia's
+agenesias
+agenesis's
+agenetic
+agenized
+agenizes
+agenizing
+agented
+agenting
+agentings
+agentives
+agentivity
+agentries
+agentry
+agers
+aggada
+aggadah
+aggadahs
+aggadic
+aggadot
+aggers
+aggies
+aggiornamenti
+aggiornamentos
+agglomerator
+agglomerators
+agglutinabilities
+agglutinability
+agglutinable
+agglutinant
+agglutinants
+agglutinin's
+agglutinogen's
+agglutinogenic
+aggrace
+aggraces
+aggracing
+aggradation
+aggradational
+aggradations
+aggrate
+aggrated
+aggrates
+aggrating
+aggravators
+aggregately
+aggregateness
+aggregatenesses
+aggregational
+aggregatively
+aggregator
+aggregators
+aggressivenesses
+aggressivities
+aggressivity
+aggri
+aggrievedness
+aggrievednesses
+aggrievements
+aggro's
+aggros
+aggry
+aghas
+agila
+agilas
+agilenesses
+agiler
+agilest
+agilities
+agin
+aginner
+aginners
+agio's
+agiotage's
+agisted
+agister
+agisters
+agisting
+agistment
+agistments
+agistor
+agistors
+agists
+agitable
+agitas
+agitational
+agitative
+agitpop
+agitprops
+aglare
+aglee
+aglet's
+agloo
+agloos
+aglossia
+aglossias
+aglu
+aglus
+agly
+aglycon
+aglycone
+aglycones
+aglycons
+agmas
+agnail's
+agname
+agnamed
+agnames
+agnate's
+agnathan
+agnathan's
+agnatical
+agnatically
+agnation's
+agnomens
+agnomina
+agnominal
+agnosia's
+agnostically
+agnosticisms
+agoge
+agoges
+agogic
+agogics
+agoing
+agonal
+agones
+agonist's
+agonistes
+agonistical
+agonistically
+agonistics
+agonothetes
+agons
+agood
+agora's
+agoraphobes
+agoraphobias
+agorot
+agoroth
+agouta
+agoutas
+agouti's
+agouties
+agouty
+agrafe
+agrafes
+agraffes
+agranulocyte
+agranulocytes
+agranulocytosis's
+agranulosis
+agranulosis's
+agrapha's
+agraphia's
+agraphic
+agraphon
+agrarianisms
+agraste
+agravic
+agreeabilities
+agreeability
+agreeability's
+agreeablenesses
+agrestal
+agrestial
+agria
+agrias
+agribusinessmen
+agrichemical
+agrichemicals
+agricide
+agricides
+agricultures
+agrimony's
+agrin
+agriology
+agriproduct
+agriproducts
+agrobiologic
+agrobiological
+agrobiologically
+agrobiologist
+agrobiologists
+agrobiology's
+agrobusiness
+agroforester
+agroforesters
+agroforestries
+agroforestry
+agroindustrial
+agroindustries
+agroindustry
+agrologic
+agrological
+agrologist
+agrologists
+agrology's
+agronomial
+agronomies
+agrostological
+agrostologies
+agrostologist
+agrostologists
+agrypnia
+agrypnia's
+agrypnias
+agr�gation
+agr�gations
+agr�g�
+agr�g�s
+agr�mens
+agr�ment
+agr�ments
+ags
+aguacate
+aguacates
+aguardiente
+aguardientes
+agued
+aguelike
+agueproof
+agues
+agueweed's
+aguishly
+aguishness
+aguishnesses
+aguti
+agutis
+ahas
+aheap
+ahed
+aheight
+ahems
+ahh
+ahhed
+ahhing
+ahhs
+ahigh
+ahimsas
+ahind
+ahing
+ahint
+ahistoric
+ahistorical
+ahold
+aholds
+ahorse
+ahorseback
+ahoys
+ahs
+ahull
+ahungered
+ahungry
+ai's
+aia
+aias
+aiblins
+aichmophobia
+aidance
+aidances
+aidant
+aidful
+aidless
+aidman
+aidmen
+aidos
+aiglet's
+aigret's
+aiguilles
+aiguillettes
+aikido's
+aikona
+ail's
+ailanthic
+ailanthus's
+ailanto
+ailantos
+ailette
+ailettes
+ailourophile
+ailourophiles
+ailourophilia
+ailourophilic
+ailourophobe
+ailourophobes
+ailourophobia
+ailourophobic
+ailurophiles
+ailurophilia
+ailurophilic
+ailurophobes
+ailurophobia
+ailurophobia's
+ailurophobias
+ailurophobic
+aimer
+aimers
+aimful
+aimfully
+aimlessnesses
+aina
+ainas
+ains
+ainsell
+ainsells
+airboats
+airbound
+airbrake
+airbrake's
+airbrick
+airbursts
+aircheck
+airchecks
+aircoach
+aircoaches
+aircondition
+airconditioned
+airconditioning
+airconditions
+aircraftman's
+aircraftmen's
+aircraftsman
+aircraftsman's
+aircraftsmen
+aircraftswoman
+aircraftswomen
+aircraftwoman
+aircraftwomen
+aircrew's
+aircrewman's
+airdate
+airdates
+airdrawn
+airdrome's
+airer
+airers
+airest
+airflows
+airforce
+airforce's
+airframe's
+airfreighted
+airfreighting
+airfreights
+airgap
+airglows
+airgraph
+airgraphs
+airheaded
+airhole
+airholes
+airinesses
+airish
+airlessnesses
+airmanship
+airmanship's
+airmanships
+airmen's
+airn
+airned
+airning
+airns
+airpack
+airpacks
+airpark
+airparks
+airplays
+airpost
+airpost's
+airposts
+airpowers
+airproof
+airproofed
+airproofing
+airproofs
+airscape
+airscapes
+airscrew's
+airshaft
+airshafts
+airshed
+airsheds
+airshot
+airshots
+airsicknesses
+airside
+airsides
+airspaces
+airspeed's
+airstop
+airstops
+airstream's
+airstreams
+airth
+airthed
+airthing
+airths
+airtightness
+airtightnesses
+airtimes
+airward
+airwards
+airwave's
+airwise
+airwoman's
+airwomen's
+airworthier
+airworthiest
+airworthinesses
+aisled
+aisleway
+aisleways
+aisling
+aitchbone's
+aits
+aitu
+aitus
+aiver
+aivers
+aizle
+aizles
+ajee
+ajiva
+ajivas
+ajowan
+ajowans
+ajuga
+ajugas
+ajutage
+ajutages
+ajwan
+ajwans
+akaryote
+akaryote's
+akaryotes
+ake
+aked
+akedah
+akee's
+akela
+akelas
+akenes
+akes
+akineses
+akinesia
+akinesia's
+akinesias
+akinesis
+akinesis's
+akinetic
+aking
+akkas
+akolouthos
+akolouthoses
+akoluthos
+akoluthoses
+akrasia
+akrasias
+akratic
+ala's
+alaap
+alabamine
+alabandine
+alabandite
+alabasters
+alabastrine
+alablaster
+alackaday
+alacks
+alacridus
+alacrities
+alalagmoi
+alalagmos
+alalia
+alalia's
+alamedas
+alamo
+alamort
+alamos
+alan
+aland
+alands
+alane
+alang
+alangs
+alanin
+alanine's
+alanins
+alannah
+alannahs
+alans
+alant
+alants
+alanui
+alanuis
+alanyl
+alanyls
+alap
+alapa
+alarmclock
+alarmedly
+alarmism's
+alases
+alaska
+alaskas
+alastor
+alastors
+alastrim
+alated
+alates
+alation
+alations
+alay
+alayed
+alaying
+alays
+albarelli
+albarello
+albarellos
+albas
+albatas
+albe
+albedo's
+albee
+alberghi
+albergo
+albert
+albertites
+alberts
+albescence
+albescences
+albespine
+albespines
+albespyne
+albespynes
+albicore
+albicores
+albinal
+albiness
+albinic
+albinisms
+albinistic
+albinoism
+albinotic
+albite's
+albitic
+albizia
+albizia's
+albizias
+albizzia
+albizzia's
+albizzias
+albricias
+albugineous
+albugo
+albugos
+albumenise
+albumenised
+albumenises
+albumenising
+albumens
+albuminates
+albuminoid's
+albuminoidal
+albumins
+albuminuria's
+albuminuric
+albumoses
+alburnous
+alburnums
+alcade
+alcades
+alcahest's
+alcaicer�a
+alcaicer�as
+alcaides
+alcaldes
+alcarraza
+alcarrazas
+alcatras
+alcatrases
+alcayde
+alcaydes
+alchemies
+alchemistic
+alchemistical
+alchera
+alchymies
+alchymy
+alcid
+alcidine
+alcids
+alcoholicities
+alcoholisms
+alcoholometers
+alcoholometries
+alcoholometry
+alcopop
+alcopops
+alcorza
+alcorzas
+alcoved
+alcyonarian
+alcyonarians
+alc�zar's
+aldea
+aldehyde's
+aldehydic
+alderflies
+alderfly
+alderfly's
+aldermancies
+aldermancy
+aldermanic
+aldermanity
+aldermanlike
+aldermanly
+aldermanry
+aldermanship
+aldermanships
+aldermen's
+aldern
+alderwomen's
+aldicarb
+aldicarbs
+aldohexose
+aldol's
+aldolase
+aldolases
+aldolization
+aldolizations
+aldopentose
+aldose's
+aldosterone's
+aldosteronism
+aldosteronism's
+aldosteronisms
+aldrins
+alebench
+alebenches
+aleberry
+alec
+aleconner
+alecost
+alecost's
+alecosts
+alecs
+alectryon
+alectryons
+alef
+alefs
+aleft
+alegars
+alegge
+alegges
+alehoof
+alehoof's
+alembicated
+alembication
+alembications
+alembroth
+alencon
+alencons
+alength
+aleph's
+alepine
+alepole
+alerce
+alerces
+alerions
+alerter
+alertest
+alertnesses
+alestake
+alethic
+aleuron
+aleurone's
+aleuronic
+aleurons
+alevins
+alew
+alewashed
+alexander
+alexanders
+alexandrines
+alexandrite's
+alexia's
+alexic
+alexic's
+alexine
+alexines
+alexins
+alexipharmakon
+alexipharmakons
+alexipharmics
+alfa
+alfaki
+alfakis
+alfalfas
+alfaquin
+alfaquins
+alfaquis
+alfaqu�
+alfas
+alfilaria's
+alfileria
+alfileria's
+alfilerias
+alforjas
+alfredo
+alf�rez
+alf�rezes
+algae's
+algaecide
+algaecides
+algaroba
+algarobas
+algarroba's
+algarrobo
+algarrobos
+algas
+algate
+algates
+algebraist's
+algerine
+algerines
+algesis
+algicidal
+algicides
+algidities
+algidity
+algin's
+alginates
+alginic
+algolagniac
+algolagniacs
+algolagnias
+algolagnic
+algolagnist
+algolagnists
+algological
+algologically
+algologies
+algologist
+algologists
+algometer's
+algometric
+algometrical
+algometries
+algometry
+algometry's
+algophobia's
+algorism's
+algorismic
+algors
+alguacil
+alguacils
+alguazil
+alguazils
+algum
+algums
+aliasings
+alibies
+alicant
+alicants
+alidad
+alidades
+alidads
+alienabilities
+alienage's
+alienations
+alienators
+alienees
+aliener
+alieners
+alienism's
+alienly
+aliennesses
+alienors
+alif
+alifs
+alightment
+alightments
+alikeness's
+alimental
+alimentally
+alimentation's
+alimentative
+alimentiveness
+alimonies
+alineation
+alineations
+aliner
+aliners
+alipeds
+aliquant's
+aliquot's
+alisma
+alismaceous
+alismas
+alist
+aliteracies
+aliteracy
+aliterate
+aliterate's
+aliterates
+alivenesses
+aliyos
+aliyot
+aliyoth
+alizari
+alizarin's
+alizarine
+alizarine's
+alizarines
+alizaris
+alkahest's
+alkahestic
+alkahestical
+alkalescence
+alkalescences
+alkalescencies
+alkalescency
+alkalescent
+alkalic
+alkalimeters
+alkalimetric
+alkalimetrically
+alkalimetries
+alkalimetry
+alkalimetry's
+alkalin
+alkalinities
+alkalosis's
+alkalotic
+alkane's
+alkanet's
+alkene's
+alkie
+alkies
+alkine
+alkines
+alkoxide
+alkoxides
+alkoxy
+alkyl's
+alkylate
+alkylated
+alkylates
+alkylating
+alkylations
+alkylic
+alkynes
+allamanda
+allamanda's
+allamandas
+allanites
+allantoic
+allantoidal
+allantoides
+allantoids
+allantoin
+allantoins
+allantois's
+allatives
+allayer
+allayers
+allayings
+allayment
+allayments
+allcomers
+allegers
+allegge
+allegges
+allegiant
+allegiants
+allegoricalness
+allegoricalnesses
+allel
+allelism
+allelisms
+allelomorph's
+allelomorphic
+allelomorphism
+allelomorphisms
+allelopathies
+allels
+alleluiah
+alleluiahs
+allemande's
+allenarly
+allergenicities
+allergin
+allergins
+allerion
+allerions
+allethrins
+alleviators
+alleviatory
+alleycat
+alleycats
+alleyed
+allgood
+allgood's
+allheals
+alliable
+allice
+allice's
+allices
+allicin
+allicins
+alligate
+alligated
+alligates
+alligating
+alligation
+alligations
+alligatored
+alligatoring
+allineation
+allineations
+allis
+allis's
+allises
+alliterativenesses
+alliums
+allnight
+allnighter
+alloantibodies
+alloantibody
+alloantigen
+alloantigens
+allobar
+allobars
+allocarpy
+allocheiria
+allochiria
+allocutions
+allod
+allodia
+allodiums
+allods
+allogamous
+allogamy's
+allogeneic
+allogeneically
+allogenic
+allograft
+allograft's
+allografted
+allografting
+allografts
+allograph's
+allographic
+alloiostrophos
+allomerism's
+allomerous
+allometric
+allometry's
+allomone
+allomones
+allomorph's
+allomorphisms
+allonges
+allons
+allonymous
+allonymously
+allonyms
+allopathically
+allopathists
+allopaths
+allopathy's
+allopatrically
+allopatries
+allopatry
+allophanes
+allophone's
+allophonically
+alloplasms
+alloplastic
+allopolyploid
+allopolyploidies
+allopolyploids
+allopolyploidy
+allopurinol
+allopurinol's
+allopurinols
+allosaur
+allosaur's
+allosaurs
+allosaurus
+allosaurus's
+allosauruses
+allosteric
+allosterically
+allosteries
+allostery
+allotetraploid
+allotetraploidies
+allotetraploids
+allotetraploidy
+allotheism
+allotransplant
+allotransplanted
+allotransplanting
+allotransplants
+allotriomorphic
+allotrope's
+allotropically
+allotropism
+allotropism's
+allotropisms
+allotropous
+allotropy's
+allottees
+allotters
+allotype
+allotypes
+allotypic
+allotypically
+allotypies
+allotypy
+allover's
+allovers
+allowability
+allowableness
+allowanced
+allowancing
+alloxan
+alloxans
+allround
+alls
+allseeds
+allsorts
+allspices
+allthing
+allurer
+allurers
+allusivenesses
+alluvials
+alluvion's
+allwork
+allyl's
+allylic
+all�es
+alma
+almacantar
+almacantars
+almagest
+almagests
+almah
+almahs
+almain
+almandine's
+almandite's
+almas
+alme
+almeh
+almehs
+almemars
+almeries
+almery
+almes
+almightinesses
+almirah
+almirahs
+almner
+almners
+almondy
+almonries
+almous
+almsdeed
+almsfolk
+almsgiver's
+almsgiving
+almsgivings
+almsmen
+almswomen
+almucantars
+almuces
+almud
+almude
+almudes
+almuds
+almug
+almugs
+alnage
+alnager
+alnagers
+alnages
+alnico
+alnico's
+alnicoes
+alnicos
+alocasia
+alocasia's
+alocasias
+alod
+alodia
+alodial
+alodiums
+alods
+aloed
+aloeswoods
+aloetic
+aloetics
+alogia
+alogical
+alogically
+alogicalness
+alogicalnesses
+aloins
+aloneness's
+alongshoreman
+alongshoremen
+alongst
+aloofnesses
+alopecia's
+alopecic
+alopecoid
+alowe
+alpargata
+alpargatas
+alpeen
+alpeens
+alpenglows
+alpenhorns
+alpenstock's
+alphabetarian
+alphabetarians
+alphabeted
+alphabetiform
+alphabeting
+alphamerical
+alphamerically
+alphametic
+alphametics
+alphanumerics
+alphasort
+alphasorted
+alphasorting
+alphasorts
+alphorns
+alphoses
+alphosises
+alphyl
+alphyls
+alpinely
+alpinism
+alpinisms
+alpinist's
+als
+alsike
+alsikes
+alstroemeria
+alstroemeria's
+alstroemerias
+altaltissimo
+altaltissimos
+altarage
+altarwise
+altazimuth's
+alterabilities
+alterability
+alterability's
+alterably
+alterants
+altercative
+alterer
+alterers
+alterities
+alterity
+altern
+alternance
+alternances
+alternants
+alternat
+alternateness
+alternatenesses
+alternatim
+alternativeness
+alternativenesses
+alterne
+alternes
+altesse
+alteza
+altezza
+althorns
+altimetric
+altimetrical
+altimetrically
+altimetries
+altiplanos
+altisonant
+altitonant
+altitudinarian
+altitudinarians
+altitudinous
+altocumuli's
+altocumulus's
+altogether's
+altogethers
+altoist
+altoists
+altostrati's
+altostratus's
+altrices
+altruisms
+alts
+aludels
+alula's
+alulae
+alular
+alumin
+aluminas
+aluminates
+alumine
+alumines
+aluminic
+aluminosilicate
+aluminosilicates
+aluminothermies
+alumins
+alumish
+alumium
+alumnae's
+alumni's
+alumroot's
+alumstone
+alunites
+alure
+alvearies
+alveary
+alveated
+alveola
+alveolar's
+alveolarly
+alveolated
+alveolation
+alveolations
+alveoles
+alveoli's
+alveolitis
+alveolitis's
+alveolus's
+alway
+alycompaine
+alycompaines
+alyssum's
+ama
+amabile
+amadavat's
+amadous
+amah's
+amalgamable
+amalgamative
+amalgamator
+amalgamators
+amandines
+amanitas
+amanitin
+amanitins
+amantadine
+amantadines
+amaracus
+amaracuses
+amarant
+amarantaceous
+amarantine
+amarants
+amarelle's
+amaretti
+amarettos
+amarna
+amaryllid
+amaryllids
+amas
+amassable
+amassables
+amassers
+amassments
+amate
+amated
+amates
+amateurishnesses
+amateurisms
+amateurship
+amating
+amation
+amativeness's
+amatols
+amatorial
+amatorially
+amatorian
+amatorious
+amaurosis's
+amaurotic
+amauti
+amautik
+amautiks
+amautis
+amazedness
+amazednesses
+amazements
+amazonites
+amazonstone
+amazonstones
+ambage
+ambagitory
+amban
+ambans
+ambari
+ambaries
+ambaris
+ambassage
+ambassages
+ambassies
+ambassy
+ambatch
+ambatches
+ambeer
+ambeers
+amberfish
+amberfish's
+ambergrises
+amberies
+amberina
+amberinas
+amberite
+amberjack's
+amberoids
+amberous
+ambers
+ambery
+ambidexterities
+ambidexters
+ambidextrousness
+ambidextrousness's
+ambient's
+ambients
+ambiguousness
+ambiguousnesses
+ambilateral
+ambisexual
+ambisexualities
+ambisexuality
+ambisexuals
+ambisonic
+ambisonics
+ambit's
+ambitioned
+ambitioning
+ambitionless
+ambitiousnesses
+ambitty
+ambivalences
+ambivalencies
+ambivalency
+ambivalency's
+ambiversion's
+ambiverts
+amblings
+amblygonite's
+amblyopia's
+amblyopic
+ambo's
+amboceptors
+amboina
+amboinas
+ambones
+amboyna
+amboyna's
+amboynas
+ambrette
+ambrettes
+ambries
+ambroids
+ambrosially
+ambrosian
+ambrosias
+ambrotypes
+ambsaces
+ambulacra's
+ambulacral
+ambulacrum's
+ambulants
+ambulatorily
+ambulators
+ambuscaders
+ambuscado
+ambuscadoes
+ambuscados
+ambushment
+ambushments
+amebiasis's
+ameerate
+ameerates
+ameiosis
+amelcorn
+amelcorns
+amelia
+amelia's
+ameliorable
+ameliorant
+ameliorants
+ameliorations
+ameliorators
+amelioratory
+ameloblast
+ameloblast's
+ameloblasts
+amen's
+amenabilities
+amenableness's
+amenage
+amende
+amenders
+amene
+amened
+amener
+amenest
+amening
+amens
+amensalism
+amensalisms
+ament's
+amenta
+amentaceous
+amental
+amentia's
+amentiferous
+amentum
+amerceable
+amercer
+amercers
+amerciable
+amerciament
+amerciaments
+americiums
+amesaces
+ametabolic
+ametabolism
+ametabolous
+amethopterin
+amethopterins
+ametropia's
+ametropic
+amia
+amiabilities
+amiableness's
+amianthuses
+amiantus
+amiantuses
+amias
+amicabilities
+amicableness
+amicableness's
+amicablenesses
+amices
+amici
+amicus
+amidases
+amidic
+amidin
+amidine
+amidines
+amidins
+amidmost
+amido
+amidogen
+amidogens
+amidol
+amidols
+amidone
+amidones
+amids
+amies
+amiga
+amigas
+amildar
+amildars
+amin
+amine's
+aminic
+aminities
+aminity
+aminoaciduria
+aminoaciduria's
+aminoacidurias
+aminobutene
+aminopeptidase
+aminopeptidases
+aminophenol
+aminophenols
+aminophylline
+aminophylline's
+aminophyllines
+aminoplast's
+aminopterin
+aminopterins
+aminopyrine's
+aminotransferase
+aminotransferases
+aminotriazole
+aminotriazoles
+amins
+amirate
+amirates
+amis
+amissibilities
+amissibility
+amissible
+amissing
+amities
+amitosis's
+amitotic
+amitotically
+amitriptyline
+amitriptyline's
+amitriptylines
+amitrole
+amitroles
+amitryptyline
+amla
+amlas
+amman
+ammans
+ammine's
+ammino
+ammiral
+ammirals
+ammon
+ammonals
+ammonates
+ammoniac's
+ammoniacum
+ammonias
+ammoniation
+ammoniations
+ammonification
+ammonification's
+ammonifications
+ammonifier
+ammonifiers
+ammonite's
+ammonitic
+ammonium's
+ammono
+ammonoid
+ammonoid's
+ammonoids
+ammons
+ammophilous
+ammos
+ammunitions
+amnesias
+amnic
+amniographies
+amniography
+amnios
+amniote
+amniote's
+amniotes
+amniotomy
+amobarbital
+amobarbital's
+amobarbitals
+amoebiasis's
+amok's
+amoks
+amole
+amoles
+amomum
+amomums
+amoralism's
+amoralist's
+amoralities
+amorance
+amorant
+amorce
+amorces
+amorets
+amoretti
+amorettos
+amorini
+amornings
+amorosa
+amorosas
+amorosity
+amorosos
+amorousnesses
+amorphisms
+amorphousnesses
+amort
+amosite
+amosites
+amotion
+amotions
+amourette
+amourettes
+amove
+amoxicillin's
+amoxycillin
+amoxycillins
+ampassies
+ampassy
+amped
+ampelography
+ampelopses
+amperages
+amperometric
+amperzand
+amperzands
+amphiarthroses
+amphibia
+amphibiousness
+amphibiousnesses
+amphibole's
+amphibolies
+amphibolite's
+amphibolitic
+amphibological
+amphibology's
+amphibrach's
+amphibrachic
+amphictyonic
+amphictyons
+amphictyony's
+amphidiploid's
+amphidiploidies
+amphidiploidy
+amphigastria
+amphigastrium
+amphigory's
+amphimacers
+amphimictic
+amphimixis's
+amphioxi
+amphioxus's
+amphipathic
+amphiphile
+amphiphiles
+amphiphilic
+amphiploid
+amphiploidies
+amphiploids
+amphiploidy
+amphipod's
+amphipodous
+amphiprostyles
+amphiprotic
+amphisbaena's
+amphisbaenae
+amphisbaenic
+amphiscian
+amphiscians
+amphistomous
+amphitheatral
+amphitheatric
+amphitheatrical
+amphitheatrically
+amphithecia
+ampholyte
+ampholytes
+amphorae's
+amphoral
+amphoric
+ampicillin's
+amping
+ampleness's
+amplexus
+amplexuses
+ampliation
+ampliations
+ampliative
+amplicon
+amplicons
+amplidyne
+amplidynes
+amplifiable
+amplosome
+amplosomes
+ampulla's
+ampullaceous
+ampullae's
+ampullar
+ampullary
+ampullosity
+amputators
+amreeta
+amreetas
+amrit
+amritas
+amritattva
+amrits
+amtman
+amtmans
+amtrac
+amtrack
+amtracks
+amtracs
+amuletic
+amus
+amuser
+amusers
+amusette
+amusettes
+amusia
+amusias
+amusingness
+amusingnesses
+amusive
+amusiveness
+amygdal
+amygdala's
+amygdalaceous
+amygdales
+amygdalines
+amygdalins
+amygdaloidal
+amygdaloids
+amygdule
+amygdules
+amylases
+amylenes
+amylic
+amylogen
+amylogens
+amyloid's
+amyloidal
+amyloidoses
+amyloidosis
+amyloidosis's
+amylolysis's
+amylolytic
+amylopectins
+amyloplast
+amyloplasts
+amylopsins
+amyloses
+amyls
+amylum's
+amyotonia's
+amyotrophic
+amyotrophy
+amyotrophy's
+ana's
+anabaenas
+anabaptism
+anabaptisms
+anabaptist
+anabaptistic
+anabaptists
+anabases
+anabiosis's
+anabiotic
+anableps
+anablepses
+anabolisms
+anabolites
+anabolitic
+anabranches
+anacardium
+anacardiums
+anacatharsis
+anacathartic
+anacathartics
+anacharis
+anacharises
+anachronic
+anachronically
+anaclastic
+anaclises
+anaclisis
+anaclisis's
+anacoluthia's
+anacoluthically
+anacoluthon's
+anacreontic
+anacreontically
+anacreontics
+anacruses
+anacrustic
+anadems
+anadiplosis's
+anadyomene
+anaerobiont
+anaerobionts
+anaerobioses
+anaerobiosis
+anaerobiotic
+anaerobiotically
+anageneses
+anagenesis
+anaglyph's
+anaglyphic
+anaglypta
+anaglyptas
+anaglyptic
+anagnorises
+anagoge's
+anagogic
+anagogical
+anagogically
+anagogies
+anagogy
+anagrammatism
+anagrammatist
+anagrammatists
+anagrammatization
+anagrammatizations
+anagrammed
+anagramming
+analcime
+analcimes
+analcimic
+analcites
+analecta's
+analectic
+analects's
+analemmas
+analemmata
+analemmatic
+analeptic's
+analgesias
+analgetic
+analgetics
+analgia
+analgias
+analities
+anality
+analogic
+analogist
+analogist's
+analogists
+analogon
+analogons
+analogousnesses
+analphabet
+analphabete
+analphabetes
+analphabetic's
+analphabetism
+analphabetisms
+analphabets
+analyticities
+analyticity
+analyticity's
+analytics
+analyzabilities
+anamnesis's
+anamnestic
+anamnestically
+anamorphism's
+anamorphosis's
+anamorphous
+anan
+anana
+ananas
+ananas's
+ananases
+ananke
+anankes
+anans
+anapaestical
+anaphase's
+anaphasic
+anaphor
+anaphor's
+anaphora's
+anaphorical
+anaphorically
+anaphors
+anaphrodisia
+anaphrodisia's
+anaphrodisiacs
+anaphrodisias
+anaphylactic
+anaphylactically
+anaphylactoid
+anaphylaxis's
+anaphylaxy
+anaplasia
+anaplasia's
+anaplasias
+anaplasmoses
+anaplasmosis
+anaplasmosis's
+anaplasty's
+anaplerosis
+anaplerotic
+anaptyctic
+anaptyxes
+anarchal
+anarchial
+anarchies
+anarchisms
+anarchosyndicalism
+anarchosyndicalist
+anarchosyndicalists
+anarchs
+anarthrias
+anarthric
+anarthrously
+anarthrousness
+anasarca's
+anasarcous
+anastasis
+anastatic
+anastigmat's
+anastigmatism
+anastomosis's
+anastomotic
+anastrophe's
+anatases
+anathemata
+anathematical
+anathemitisation
+anatomical's
+anatomizations
+anatoxin
+anatoxins
+anatropies
+anatropy
+anatta
+anattas
+anattos
+anaxial
+anburies
+anbury
+ance
+ancestored
+ancestorial
+ancestoring
+ancho
+anchoresses
+anchoret
+anchoretic
+anchoretical
+anchorets
+anchorhold
+anchoritical
+anchoritically
+anchorless
+anchormen's
+anchorpeople's
+anchorwomen's
+anchos
+anchovetas
+anchovetta
+anchovettas
+anchusa
+anchusa's
+anchusas
+anchusins
+anchylosed
+anchyloses
+anchylosing
+anchylosis
+anchylosis's
+anchylostomiasis
+ancientnesses
+ancientries
+ancientry
+ancile
+ancillas
+ancipitous
+ancle
+ancles
+ancome
+ancomes
+anconal
+ancone
+anconeal
+ancones
+anconoid
+ancora
+ancress
+ancresses
+ancylostomiases
+andalusites
+andantini
+andantinos
+andesines
+andesite's
+andesitic
+andesyte
+andesytes
+andouille
+andouilles
+andouillette
+andouillettes
+andradite's
+androcentric
+androcephalous
+androdioecious
+androdioecism
+androecia
+androecial
+androgeneses
+androgenesis
+androgenesis's
+androgenetic
+androgenization
+androgenizations
+androgenize
+androgenized
+androgenizes
+androgenizing
+androgenous
+androgens
+androgyne's
+androgynies
+andrology
+andromeda
+andromeda's
+andromedas
+andromedotoxin
+andromonoecious
+andromonoecism
+androphore
+androphores
+androsterone's
+ands
+andvile
+andviles
+aneared
+anearing
+anears
+aneath
+anecdotages
+anecdotalism
+anecdotalisms
+anecdotalists
+anecdotical
+anecdotically
+anecdotist's
+anelaces
+anelastic
+anelasticities
+anelasticity
+anemogram
+anemograms
+anemographic
+anemographically
+anemographs
+anemography's
+anemometric
+anemometrical
+anemometry's
+anemophilies
+anemophily
+anemophobia
+anemophobic
+anemophobics
+anemoses
+anemosis
+anencephalia
+anencephalia's
+anencephalic
+anencephalies
+anencephaly
+anencephaly's
+anend
+anenst
+anergia
+anergias
+anergic
+anergy's
+anerly
+aneroid's
+anes
+anestrum's
+anethol
+anetholes
+anethols
+aneuploid
+aneuploidies
+aneuploids
+aneuploidy
+aneuploidy's
+aneurin's
+aneurismal
+anfractuosities
+anga
+angakok
+angakoks
+angaria
+angarias
+angaries
+angas
+angekkok
+angekkoks
+angekok
+angekoks
+angeled
+angelhood
+angelhoods
+angelicas
+angeling
+angelolatry
+angelologies
+angelologist
+angelologists
+angelophany
+angelus
+angelus's
+angeluses
+angerless
+angerly
+angico
+angicos
+anginas
+anginose
+anginous
+angiocardiographic
+angiocardiographies
+angiocardiography
+angiocarpous
+angiogeneses
+angiogram's
+angiographic
+angiography's
+angiology's
+angioma's
+angiomata
+angiomatous
+angiopathies
+angiopathy
+angiopathy's
+angiosarcoma
+angiosarcomas
+angiosarcomata
+angiospermal
+angiospermous
+angiostomatous
+angiostomous
+angiotensin's
+angiotensins
+angklung
+angklungs
+angleberries
+angleberry
+angledozer
+angledozer's
+angledozers
+anglepod
+anglepods
+anglepoises
+anglerfish
+anglerfish's
+anglerfishes
+anglesites
+anglewise
+anglice
+anglicist
+anglicists
+anglified
+anglifies
+anglify
+anglifying
+anglings
+anglist
+anglists
+anglo
+anglomania
+anglomaniac
+anglophil
+anglophil's
+anglophile's
+anglophilia
+anglophilic
+anglophils
+anglophobe
+anglophobe's
+anglophobes
+anglophobia
+anglophobic
+anglos
+angostura's
+angosturas
+angriness's
+angsts
+anguiform
+anguiped
+anguipede
+angularness
+angularnesses
+angulated
+angulately
+angulateness
+angulatenesses
+angulates
+angulating
+angulation's
+angulose
+angulous
+angustifoliate
+angustirostrate
+angwantibo's
+anharmonic
+anhedonia
+anhedonia's
+anhedonias
+anhedonic
+anhelation
+anhinga's
+anhungered
+anhungry
+anhydride's
+anhydrites
+ani's
+anicca
+aniccas
+aniconism
+aniconisms
+anicut
+anicuts
+anigh
+anight
+anil's
+anilinctus
+anilinctuses
+anilines
+anilingus
+anilinguses
+anilins
+anilities
+anima's
+animadverter
+animadverters
+animalcula
+animalcula's
+animalcular
+animalculism
+animalculist
+animalculists
+animalculum
+animalculum's
+animalic
+animalier
+animaliers
+animalism's
+animalistic
+animalists
+animality's
+animallike
+animally
+animately
+animateness
+animateness's
+animatenesses
+animater
+animaters
+animatic
+animatics
+animatingly
+animatism's
+animatisms
+animatronic
+animatronics
+animi
+animis
+animisms
+animuses
+anionic's
+aniseeds
+aniseikonia's
+aniseikonic
+anises
+anisettes
+anisic
+anisocercal
+anisodactylous
+anisogamete
+anisogamete's
+anisogametes
+anisogamic
+anisogamies
+anisogamous
+anisogamy
+anisogamy's
+anisoles
+anisometropia's
+anisometropic
+anisophyllous
+anisotropically
+anisotropism
+anisotropisms
+anker
+ankerites
+ankers
+ankled
+anklejack
+ankling
+anklong
+anklongs
+anklung
+anklungs
+ankuses
+ankush
+ankushes
+ankylosaur's
+ankylosaurus
+ankylosaurus's
+ankylosauruses
+ankylosis's
+ankylostomiases
+anlaces
+anlage's
+anlagen
+anlas
+anlases
+anna's
+annat
+annats
+annatta
+annattas
+annattos
+anneal's
+annealers
+annealing's
+annealings
+annectent
+annelidan
+annelidans
+annexational
+annexationisms
+annexationists
+annexion
+annexions
+annexment
+annexments
+annexure
+annexures
+annicut
+annicuts
+annihilable
+annihilationism
+annihilations
+annihilative
+annihilatory
+anno
+annona
+annonas
+annoyer
+annoyer's
+annoyers
+anns
+annularities
+annulars
+annulated
+annulations
+annulet's
+annulus's
+annunciative
+annunciator's
+annunciatory
+anoa's
+anobiidae
+anodally
+anodically
+anodizations
+anodynic
+anoeses
+anoestrum's
+anointers
+anointments
+anole's
+anolyte
+anolytes
+anomalistical
+anomalistically
+anomalousness's
+anomia
+anomia's
+anomias
+anomic
+anomics
+anomie's
+anon's
+anonaceous
+anonym's
+anonyma
+anonymities
+anonymousness
+anonymousnesses
+anoopsia
+anoopsias
+anopheleses
+anopheline
+anopheline's
+anophelines
+anopia
+anopia's
+anopias
+anopsia
+anopsias
+anorectal
+anoretic
+anoretics
+anorexias
+anorexies
+anorexigenic
+anorexy
+anorthite's
+anorthitic
+anorthosites
+anorthositic
+anosmia's
+anosmic
+another's
+anotherguess
+anourous
+anovulant
+anovulants
+anovular
+anovulation
+anovulation's
+anovulations
+anovulatory
+anoxia's
+anoxic
+ansa
+ansae
+ansaphone
+ansaphones
+ansated
+anserines
+anserous
+answerabilities
+answerability
+answerability's
+answerableness
+answerableness's
+answerablenesses
+answerback
+answerbacks
+answerer's
+answerless
+antae
+antalgic
+antalgics
+antalkalies
+antaphrodisiac
+antaphrodisiacs
+antar
+antara
+antarthritic
+antas
+antasthmatic
+antbear
+antbears
+antbird
+antbird's
+antbirds
+antecedences
+antecedency's
+antecedently
+antecessor
+antecessors
+antechapel
+antechapels
+antechoirs
+antedate's
+antediluvial
+antediluvially
+antediluvian's
+antediluvians
+antefix's
+antefixa
+antefixae
+antefixal
+antelucan
+antemortem
+antenatally
+antenati
+antennae's
+antennal
+antennary
+antenniferous
+antenniform
+antennular
+antennules
+antenuptial
+anteorbital
+antepasts
+antependia
+antependiums
+antepenult's
+antepenultimas
+antepenultimate's
+anteprandial
+anterior's
+anteriority's
+antetypes
+anteversions
+anteverted
+anteverting
+anteverts
+anthelia
+anthelices
+anthelions
+anthelix
+anthelminthic
+anthelminthic's
+anthelminthics
+anthelmintic's
+anthemed
+anthemia
+antheming
+anthemwise
+antheral
+antherid
+antheridia
+antheridial
+antheridium's
+antherids
+antherozoid's
+antherozooid
+antherozooids
+anthersmut
+anthesis's
+anthocarp
+anthocarpous
+anthocarps
+anthochlore
+anthocyan
+anthocyanins
+anthocyans
+anthodia
+anthoid
+anthological
+anthologizers
+anthomania
+anthomaniac
+anthomaniacs
+anthophilous
+anthophores
+anthophyllite
+anthophyllite's
+anthophyllites
+anthoxanthin
+anthozoan's
+anthozoic
+anthracenes
+anthraces
+anthracic
+anthracites
+anthracnoses
+anthracosis's
+anthranilate
+anthranilates
+anthraquinones
+anthropical
+anthropobiology
+anthropocentrically
+anthropocentricities
+anthropocentricity
+anthropocentricity's
+anthropocentrism's
+anthropogenesis's
+anthropogenetic
+anthropogenies
+anthropogeny
+anthropogeny's
+anthropogony
+anthropographic
+anthropographies
+anthropoidal
+anthropolatry's
+anthropologies
+anthropometrical
+anthropometrically
+anthropometrist
+anthropometrists
+anthropometry's
+anthropomorph
+anthropomorphisms
+anthropomorphist
+anthropomorphists
+anthropomorphite
+anthropomorphitic
+anthropomorphitism
+anthropomorphs
+anthropopathic
+anthropopathically
+anthropopathies
+anthropopathism
+anthropopathisms
+anthropophagi's
+anthropophagic
+anthropophagies
+anthropophaginian
+anthropophagite's
+anthropophagus
+anthropophagus's
+anthropophobia
+anthropophobic
+anthropophobics
+anthropophuism
+anthropophyte
+anthropopithecus
+anthropopsychic
+anthropopsychically
+anthropopsychism
+anthroposophical
+anthroposophies
+anthroposophist
+anthropotomy
+anthurium's
+antiacademic
+antiacademics
+antiaditis
+antiadministration
+antiadrenergic
+antiadrenergics
+antiaggression
+antiair
+antiaircraft's
+antiaircrafts
+antialcoholism
+antialcoholisms
+antialiasing
+antialiasings
+antialien
+antiallergenic
+antiallergenics
+antianemia
+antiantibodies
+antiantibody
+antiapartheids
+antiaphrodisiac
+antiaphrodisiacs
+antiarin
+antiarins
+antiaristocratic
+antiarrhythmic
+antiarrhythmic's
+antiarrhythmics
+antiars
+antiarthritic
+antiarthritics
+antiarthritis
+antiassimilation
+antiassimilations
+antiasthma
+antiasthmatic
+antiatom
+antiatoms
+antiauthoritarian
+antiauthoritarianism
+antiauthoritarianisms
+antiauthority
+antiauxin
+antiauxins
+antibacchius
+antibacchiuses
+antibacklash
+antiballistic
+antibarbarus
+antibarbaruses
+antibaryon's
+antibias
+antibilious
+antibillboard
+antibioses
+antibiotically
+antiblack
+antiblackism
+antiblackisms
+antiboss
+antibourgeois
+antiboycott
+antiboycotts
+antibug
+antibureaucratic
+antiburglar
+antiburglary
+antibusiness
+antibusing
+anticaking
+antically
+anticapitalism
+anticapitalisms
+anticapitalists
+anticar
+anticarcinogen
+anticarcinogenic
+anticarcinogens
+anticaries
+anticatalyst's
+anticathodes
+anticatholic
+anticellulite
+anticensorship
+antichloristic
+antichlors
+anticholinergics
+anticholinesterase
+anticholinesterases
+antichristianism
+antichristianly
+antichthones
+antichurch
+anticigarette
+anticipants
+anticipatable
+anticipatively
+anticipatorily
+anticipators
+anticity
+anticivic
+anticivism
+antick
+anticks
+anticlassical
+anticlericalisms
+anticlericalist
+anticlericalists
+anticlericals
+anticlimactical
+anticlinals
+anticling
+anticlinoriums
+anticlotting
+anticly
+anticoagulative
+anticodon
+anticodons
+anticold
+anticollision
+anticolonialisms
+anticolonialist
+anticolonialists
+anticolonials
+anticommercial
+anticommercialism
+anticommercialisms
+anticommunisms
+anticompetitive
+anticonglomerate
+anticonservation
+anticonservationist
+anticonservationists
+anticonservations
+anticonsumer
+anticonsumers
+anticonventional
+anticonvulsant
+anticonvulsant's
+anticonvulsants
+anticonvulsive
+anticonvulsives
+anticorporate
+anticorrosion
+anticorrosives
+anticorruption
+anticorruptions
+anticounterfeiting
+anticous
+anticrack
+anticreative
+anticruelty
+anticult
+anticults
+anticultural
+antidandruff
+antidefamation
+antidepression
+antidepressions
+antidepressives
+antiderivative
+antiderivatives
+antidesegregation
+antidesertification
+antidesiccant
+antidesiccants
+antidevelopment
+antidiabetic
+antidiabetic's
+antidiabetics
+antidiarrheal's
+antidilution
+antidiscrimination
+antidiuretic
+antidiuretic's
+antidiuretics
+antidogmatic
+antidora
+antidotally
+antidoted
+antidoting
+antidraft
+antidromically
+antidumping
+antieconomic
+antieducational
+antiegalitarian
+antielectron
+antielectron's
+antielectrons
+antielite
+antielites
+antielitism
+antielitisms
+antielitist
+antielitists
+antiemetic
+antiemetic's
+antiemetics
+antientropic
+antiepilepsy
+antiepileptic
+antiepileptic's
+antiepileptics
+antierotic
+antiestablishmentarian
+antiestablishmentarianism
+antiestablishmentarianisms
+antiestablishmentarians
+antiestrogen
+antiestrogens
+antievolution
+antievolutionary
+antievolutionism
+antievolutionisms
+antievolutionist
+antievolutionists
+antifamily
+antifascisms
+antifashion
+antifashionable
+antifashions
+antifat
+antifatigue
+antifebriles
+antifederal
+antifederalism
+antifederalisms
+antifederalist
+antifederalists
+antifemale
+antifeminine
+antifeminism's
+antifeminist's
+antiferromagnet
+antiferromagnetic
+antiferromagnetically
+antiferromagnetism
+antiferromagnetism's
+antiferromagnetisms
+antiferromagnets
+antifilibuster
+antifilibusters
+antiflash
+antiflu
+antifluoridationist
+antifluoridationists
+antifoam
+antifoaming
+antifog
+antifogging
+antiforeclosure
+antiforeign
+antiforeigner
+antiformalist
+antiformalists
+antifraud
+antifreezes
+antifrictions
+antifungal's
+antifur
+antigambling
+antigay
+antigene
+antigenes
+antigenically
+antigenicities
+antiglare
+antiglobulin
+antiglobulins
+antigravities
+antigrowth
+antiguerrilla
+antiguerrillas
+antigun
+antiguns
+antihalations
+antihelices
+antiheroines
+antiheroism
+antiheroisms
+antiherpes
+antihierarchical
+antihijack
+antihistaminics
+antihistorical
+antihomosexual
+antihuman
+antihumanisms
+antihumanistic
+antihumanitarian
+antihumanitarians
+antihunter
+antihunting
+antihuntings
+antihypertensive's
+antihysteric
+antihysterics
+antiinflammatory
+antijam
+antijamming
+antikickback
+antiking
+antikings
+antiknocks
+antileak
+antileft
+antilegomena
+antileprosy
+antilepton's
+antileukemic
+antiliberalism
+antiliberalisms
+antiliberals
+antilibertarian
+antilibertarians
+antilife
+antiliterate
+antiliterates
+antilitter
+antilittering
+antilog's
+antilogarithmic
+antilogical
+antilogies
+antilogous
+antilopine
+antilynching
+antimacho
+antimalaria
+antimalarial's
+antimalarials
+antimale
+antimales
+antiman
+antimanagement
+antimanagements
+antimarijuana
+antimarket
+antimask
+antimasks
+antimasques
+antimaterialism
+antimaterialisms
+antimaterialist
+antimaterialists
+antimatters
+antimechanist
+antimechanists
+antimeres
+antimerger
+antimeric
+antimetabole
+antimetaboles
+antimetabolic
+antimetabolics
+antimetabolite
+antimetabolite's
+antimetabolites
+antimetaphysical
+antimetathesis
+antimicrobial's
+antimicrobials
+antimilitarisms
+antimilitarist
+antimilitarists
+antimilitary
+antimiscegenation
+antimissile's
+antimissiles
+antimitotics
+antimnemonic
+antimnemonics
+antimodern
+antimodernist
+antimodernists
+antimoderns
+antimonarchical
+antimonarchists
+antimonate
+antimonates
+antimonials
+antimoniate
+antimoniates
+antimonide
+antimonides
+antimonies
+antimonious
+antimonite
+antimonites
+antimonopolist
+antimonopolists
+antimonopoly
+antimosquito
+antimusical
+antimutagen
+antimutagens
+antimycin
+antimycin's
+antimycins
+antinarrative
+antinational
+antinationalists
+antinatural
+antinature
+antinatures
+antineoplastic
+antineoplastic's
+antineoplastics
+antinephritic
+antinepotism
+antinepotisms
+antineutrino's
+antineutron's
+antings
+antinodal
+antinodes
+antinome
+antinomes
+antinomian's
+antinomianism
+antinomianism's
+antinomianisms
+antinomic
+antinomical
+antinomies
+antinovelist
+antinovelists
+antinovels
+antinucleons
+antinuke
+antinuker
+antinukers
+antinukes
+antiobesities
+antiobesity
+antiobscenities
+antiobscenity
+antiochianism
+antiodontalgic
+antiorganization
+antiorganizations
+antiozonant
+antiozonants
+antipapal
+antiparallels
+antiparasitics
+antiparty
+antipathetically
+antipathic
+antipathist
+antipathists
+antiperiodics
+antiperistalses
+antiperistaltic
+antiperistasis
+antipesticide
+antipetalous
+antiphiloprogenitive
+antiphlogistics
+antiphonary's
+antiphoner
+antiphoners
+antiphonic
+antiphonical
+antiphonically
+antiphony's
+antiphrasis's
+antiphrastic
+antiphrastical
+antiphrastically
+antipill
+antipills
+antipiracies
+antipiracy
+antiplague
+antiplagues
+antiplaque
+antipleasure
+antipleasures
+antipoaching
+antipodal's
+antipode's
+antipoetic
+antipoles
+antipolice
+antipolitical
+antipolitics
+antipollutionist
+antipollutionists
+antipollutions
+antipopes
+antipopular
+antiporn
+antipornographic
+antipornography
+antipot
+antipredator
+antipredators
+antipress
+antiprofiteering
+antiprogressive
+antiprostitution
+antiproton's
+antipruritic
+antipruritic's
+antipruritics
+antipsychotic's
+antipyic
+antipyics
+antipyreses
+antipyretic's
+antipyrines
+antiquarianisms
+antiquark
+antiquark's
+antiquarks
+antiquatedness
+antiquatednesses
+antiquations
+antiquenesses
+antiquers
+antiquitarian
+antiquitarians
+antirabies
+antirachitics
+antiracism
+antiracisms
+antiracist
+antiracists
+antiracketeering
+antiradar
+antiradicalism
+antiradicalisms
+antirape
+antirapes
+antirationalism
+antirationalisms
+antirationalist
+antirationalists
+antirationalities
+antirationality
+antirealism
+antirealisms
+antirealist
+antirealists
+antirecession
+antirecessionary
+antirecessions
+antired
+antireductionism
+antireductionisms
+antireductionist
+antireductionists
+antireflection
+antireflective
+antireform
+antiregulatory
+antireligion
+antirevolutionaries
+antirheumatic
+antirheumatics
+antiriot
+antiriots
+antiritualism
+antiritualisms
+antirock
+antiroll
+antiromantic
+antiromanticism
+antiromanticisms
+antiromantics
+antiroyalist
+antiroyalists
+antirust
+antirusts
+antisag
+antischizophrenia
+antischizophrenic
+antiscian
+antiscians
+antiscience
+antisciences
+antiscientific
+antiscorbutics
+antiscriptural
+antisecrecy
+antisegregation
+antiseizure
+antisense
+antisentimental
+antisepalous
+antiseparatist
+antiseparatists
+antisepses
+antisepticism
+antisex
+antisexism
+antisexisms
+antisexist
+antisexists
+antisexual
+antisexualities
+antisexuality
+antishark
+antiship
+antishock
+antishoplifting
+antiskid
+antislaveries
+antislavery's
+antisleep
+antislip
+antismog
+antismoke
+antismoker
+antismokers
+antismuggling
+antismut
+antisnob
+antisnobs
+antisocialism
+antisocialist
+antisocialists
+antisocialities
+antisociality
+antisolar
+antispast
+antispastic
+antispasts
+antispeculation
+antispeculative
+antispending
+antistat
+antistate
+antistatics
+antistats
+antistick
+antistories
+antistory
+antistress
+antistrike
+antistrophe's
+antistrophic
+antistrophically
+antistrophon
+antistrophons
+antistudent
+antisubsidy
+antisubversion
+antisubversions
+antisubversive
+antisubversives
+antisuicide
+antisyphilitic's
+antisyzygy
+antitarnish
+antitax
+antitechnological
+antitechnologies
+antitechnology
+antiterrorisms
+antiterrorists
+antithalian
+antitheism
+antitheist
+antitheistic
+antitheists
+antitheoretical
+antithet
+antithets
+antithrombin
+antithrombins
+antithyroid
+antitobacco
+antitotalitarian
+antitrade
+antitrade's
+antitraditional
+antitragi
+antitrinitarian
+antitrinitarianism
+antitruster
+antitrusters
+antitubercular
+antituberculosis
+antituberculous
+antitumoral
+antitussive's
+antitypal
+antitype's
+antityphoid
+antitypic
+antitypical
+antitypically
+antiulcer
+antiunemployment
+antiuniversities
+antiuniversity
+antiurban
+antivaccinationism
+antivaccinationist
+antivaccinationists
+antivenene
+antivenenes
+antivenom
+antivenoms
+antiviolence
+antivitamin
+antivitamins
+antivivisectionism
+antivivisections
+antiwear
+antiweed
+antiwelfare
+antiwhaling
+antiwhite
+antiwoman
+antiwrinkle
+antliae
+antliate
+antlike
+antlion's
+antoninianus
+antoninianuses
+antonomasias
+antonomastic
+antonomastically
+antonymy's
+antra
+antres
+antrorsely
+antrum's
+antthrush
+anu
+anucleate
+anucleated
+anural
+anuran's
+anureses
+anuresis
+anuresis's
+anuretic
+anuria's
+anuric
+anviltop
+anviltops
+anxiolytic
+anxiolytic's
+anxiolytics
+anxiousnesses
+anyon
+anyons
+anyroad
+anythingarian
+anythingarianism
+anythingarians
+anyu
+anyus
+anywhen
+anywhither
+anziani
+aorist's
+aoristically
+aortitis
+aortographic
+aortographies
+aortography
+aoudad's
+apache's
+apadana
+apadana's
+apage
+apagoge
+apagoges
+apagogic
+apagogical
+apagogically
+apaid
+apanaged
+aparejos
+apartheids
+apartmental
+apartnesses
+apathaton
+apathetical
+apathies
+apatites
+apatosaur's
+apatosaurus's
+apay
+apayd
+apaying
+apays
+apedom
+apeek
+apehood
+apepsia
+apepsy
+aper
+aper's
+aperient's
+aperiodicities
+aperiodicity
+aperitive
+apers
+apert
+apertness
+apery's
+aper�u's
+apeshit
+apetalies
+apetaly
+apfelstrudel
+apfelstrudels
+aphagia
+aphagia's
+aphagias
+aphakia
+aphakia's
+aphakias
+aphanipterous
+aphanite's
+aphanitic
+aphasiacs
+aphasias
+aphelia's
+apheliotropism
+apheliotropisms
+aphesis's
+aphetic
+aphetically
+aphicide
+aphicides
+aphidian
+aphidians
+aphidicide
+aphidicides
+aphidious
+apholate
+apholates
+aphonia's
+aphonics
+aphonous
+aphony
+aphorist's
+aphrodisia's
+aphrodite
+aphrodites
+aphtha
+aphthae
+aphthous
+aphyllies
+aphylly
+apiarians
+apical's
+apicals
+apiculi
+apiculture's
+apiculturist's
+apiculus
+apimania
+apimanias
+apio
+apiol
+apiologies
+apiology
+apios
+apishness
+apishnesses
+apism
+aplanat
+aplanatism
+aplanats
+aplanogamete
+aplanogametes
+aplanospores
+aplasia's
+aplastic
+aplite's
+aplitic
+aplombs
+aplustre
+aplustres
+apneuses
+apneusis
+apoapsides
+apoapsis
+apoapsis's
+apocalypticism
+apocalypticisms
+apocalyptism
+apocalyptisms
+apocalyptist
+apocalyptists
+apocarpies
+apocarps
+apocarpy
+apocatastasis
+apochromat
+apochromatism
+apochromatisms
+apochromats
+apocopated
+apocopates
+apocopating
+apocopation
+apocopations
+apocope's
+apocopic
+apocryphalnesses
+apocryphon
+apod
+apode
+apodeictical
+apodeictically
+apodes
+apodictical
+apodictically
+apodoses
+apodous
+apods
+apodyterium
+apodyteriums
+apoenzyme's
+apogamic
+apogamous
+apogamously
+apogamy's
+apogeal
+apogean
+apogeotropic
+apogeotropically
+apographs
+apolaustic
+apolipoprotein
+apolipoproteins
+apoliticality
+apoliticism
+apolline
+apollonian
+apollonicon
+apollonicons
+apollos
+apolog
+apologal
+apologiae
+apologs
+apologue's
+apolune's
+apomict's
+apomictic
+apomictical
+apomictically
+apomixes
+apomixis's
+apomorphia
+apomorphine's
+aponeurosis's
+aponeurotic
+apoop
+apophasis's
+apophatic
+apophlegmatic
+apophonies
+apophony
+apophthegm's
+apophthegmatic
+apophthegmatical
+apophthegmatically
+apophthegmatist
+apophyges
+apophyllites
+apophysate
+apophyseal
+apophysis's
+apoplectic's
+apoplectical
+apoplectics
+apoplex
+apoptoses
+aporetic
+aporias
+aposematically
+aposiopesis's
+aposiopetic
+apositia
+apositic
+aposporic
+apospories
+aposporous
+apostacies
+apostacy
+apostatic
+aposteriori
+apostille
+apostilles
+apostils
+apostlehood
+apostlehoods
+apostleships
+apostolates
+apostolical
+apostolically
+apostolicism
+apostolicities
+apostolicity
+apostrophus
+apothece
+apotheces
+apothecia's
+apothecial
+apothecium's
+apothegmatical
+apothegmatically
+apothegmatist
+apothegmatists
+apothems
+apotropaically
+apotropaism
+apotropous
+apozem
+apozems
+appair
+appalling's
+appalti
+appalto
+appanage's
+appanaged
+apparat
+apparats
+apparelment
+apparencies
+apparency
+apparency's
+apparentness
+apparentness's
+apparentnesses
+apparitors
+appartement
+appartements
+appay
+appayd
+appaying
+appays
+appealabilities
+appealability
+appealers
+appealingness
+appealingness's
+appearer
+appearers
+appeasably
+appeasingly
+appellational
+appellative's
+appellatively
+appellees
+appellor
+appellors
+appels
+appendants
+appendicectomy's
+appendicitises
+appendicle's
+appendicularian
+appendiculate
+apperception's
+apperceptive
+appercipient
+apperil
+appertainment
+appertainments
+appertinent
+appestat
+appestats
+appetence's
+appetency's
+appetent
+appetible
+appetition
+appetitions
+applaudably
+applaudingly
+applauses
+applausive
+applausively
+appleblossom
+applecart's
+applejacks
+applejohn
+applesauces
+applewife
+applewoman
+appliable
+applicabilities
+applicate
+applicatively
+appoggiatura's
+appoggiature
+appointors
+apport
+apportionable
+apportionments
+apports
+apposable
+apposer
+apposers
+appositenesses
+appositionally
+appositions
+appositively
+appraisee
+appraisements
+appraisive
+appraisively
+appreciativeness
+appreciativeness's
+appreciativenesses
+apprehensibilities
+apprehensibility
+apprehensibly
+apprehensivenesses
+apprenticehood
+apprenticement
+apprenticements
+appress
+appresses
+appressing
+appressoria
+appressorium
+appro
+appro's
+approachabilities
+approachability's
+approachableness
+approachablenesses
+approof
+approofs
+appropinquate
+appropinquated
+appropinquates
+appropinquating
+appropinquation
+appropinquity
+appropriable
+appropriatenesses
+appropriative
+appropriativeness
+approvable
+approvably
+approvance
+approvers
+approximant
+approximants
+approximative
+appui
+appuied
+appuis
+appulses
+appurtenant's
+appurtenants
+appuy
+appuyed
+appuying
+appuys
+apractic
+apraxia's
+apraxic
+apricate
+apricated
+apricates
+apricating
+aprication
+apriori
+apriorisms
+apriorist
+apriorists
+apriorities
+apriority
+apronful
+aproning
+apronstring
+aprotic
+apr�s
+apsaras
+apsarases
+apsidiole
+apsidioles
+apsis's
+apteria
+apterism
+apterium
+apteryx's
+aptitudinal
+aptitudinally
+aptnesses
+aptote
+aptotes
+aptotic
+apyrase
+apyrases
+apyrexia
+apyrexias
+aquabatic
+aquabatics
+aquaboard
+aquaboards
+aquacades
+aquacrop
+aquacrops
+aquacultural
+aquacultures
+aquaculturists
+aquadrome
+aquadromes
+aquafarm
+aquafarmed
+aquafarming
+aquafarms
+aquafer
+aquafers
+aquafortis
+aquafortist
+aquafortists
+aquamanale
+aquamanales
+aquamaniles
+aquanautics
+aquaphobe
+aquaphobes
+aquaphobia
+aquaphobia's
+aquaphobic
+aquaphobics
+aquaplaner
+aquaplaners
+aquaregia
+aquarelles
+aquarellist
+aquarellists
+aquarial
+aquarian
+aquarians
+aquariist
+aquariists
+aquarists
+aquarobic
+aquarobics
+aquatint's
+aquatinta
+aquatintas
+aquatinter
+aquatinters
+aquatintist
+aquatintists
+aquatone
+aquatones
+aquavits
+aquicultural
+aquiculturist
+aquiculturists
+aquiferous
+aquifoliaceous
+aquilegia's
+aquilinities
+aquilinity
+araba
+arabas
+arabesk
+arabesks
+arabesqued
+arabic
+arabica
+arabicas
+arabicization
+arabicizations
+arabicize
+arabicized
+arabicizes
+arabicizing
+arabilities
+arabin
+arabinoses
+arabinoside
+arabinosides
+arable's
+arables
+araceae
+arachis
+arachises
+arachnidans
+arachnoid's
+arachnoidal
+arachnoiditis
+arachnological
+arachnologist
+arachnologists
+arachnology
+arachnophobe
+arachnophobes
+arachnophobias
+arachnophobic
+araeometer
+araeometers
+araeometry
+araeosystyles
+aragonites
+aragonitic
+araise
+arak's
+aralia
+aralia's
+aralias
+arame
+arames
+aramids
+araneid
+araneids
+araneous
+arapaimas
+araponga
+arapongas
+arapunga
+arapungas
+arar
+araroba's
+arars
+araucaria's
+araucarian
+arb's
+arba
+arbalesters
+arbalests
+arbalist
+arbalister
+arbalisters
+arbalists
+arbas
+arbelest
+arbelests
+arbitrable
+arbitrarinesses
+arbitrary's
+arbitrational
+arbitrations
+arbitrative
+arbitratrix
+arbitratrixes
+arbitrement
+arbitrement's
+arbitrements
+arbitresses
+arbitrium
+arblast
+arblaster
+arblasters
+arblasts
+arboraceous
+arboreally
+arborescence
+arborescences
+arboret
+arboriculture's
+arboriculturist's
+arborio
+arborios
+arborist
+arborists
+arborous
+arboviral
+arboviruses
+arbuscle
+arbuscles
+arbute
+arbutean
+arbutes
+arcadia
+arcadian
+arcadians
+arcadias
+arcadings
+arcanas
+arcanist
+arcanists
+arcanum's
+arcatures
+arccosine
+arccosines
+archaea
+archaeans
+archaebacteria
+archaebacteria's
+archaebacterium
+archaebacterium's
+archaeoastronomer
+archaeoastronomers
+archaeoastronomical
+archaeologies
+archaeomagnetism
+archaeometallurgy
+archaeometric
+archaeometrist
+archaeometrists
+archaeopteryx's
+archaeornis's
+archaeozoologist
+archaeozoologists
+archaeozoology
+archaicism
+archaicism's
+archangelic
+archconservatives
+archdeaconates
+archdeaconry's
+archdeaconship
+archdeaconships
+archdruid
+archduchy's
+archdukedom
+archdukedoms
+archegonia's
+archegonial
+archegoniate
+archegoniates
+archegonium's
+archencephala
+archencephalon
+archencephalons
+archentera
+archenteric
+archenteron's
+archeometric
+archeometrist
+archeometrists
+archeress
+archeresses
+archerfish's
+archerfishes
+archeries
+archespore's
+archesporia
+archesporia's
+archesporial
+archesporium
+archesporium's
+archetypally
+archfelon
+archflamen
+archfoe
+archgenethliac
+archgenethliacs
+archheretic
+archicarps
+archichlamydeous
+archidiaconate
+archidiaconate's
+archidiaconates
+archiepiscopalities
+archiepiscopality
+archiepiscopally
+archiepiscopates
+archil's
+archilowe
+archimages
+archimandrite's
+archine's
+archings
+architected
+architecting
+architraved
+architype
+architypes
+archivolts
+archlet
+archlets
+archlutes
+archmock
+archnesses
+archology
+archons
+archonship
+archonships
+archontate
+archontates
+archontic
+archosaur
+archosaur's
+archosaurian
+archosaurian's
+archosaurs
+archpirate
+archpoet
+archprelate
+archpriest's
+archrivals
+archtraitor
+archvillain
+archwise
+arcings
+arckings
+arco
+arcsecond
+arcsecond's
+arcseconds
+arcsine
+arcsines
+arctangent
+arctangents
+arctically
+arctiid
+arctiid's
+arctiids
+arctoid
+arctophil
+arctophile
+arctophiles
+arctophilia
+arctophilist
+arctophilists
+arctophils
+arctophily
+arcuated
+arcuately
+arcuations
+arcubalist
+arcubalists
+arcus
+arcus's
+arcuses
+ard
+ardeb's
+ardencies
+ardri
+ardrigh
+ards
+arduousnesses
+areach
+aread
+areading
+areads
+areae
+areally
+arear
+areaway's
+areca's
+arecoline
+arecolines
+ared
+aredd
+arede
+aredes
+areding
+arefaction
+arefy
+areg
+arenation
+arenations
+arenite
+arenites
+arenose
+arenous
+areocentric
+areola's
+areolated
+areolation
+areolations
+areoles
+areosystile
+areosystiles
+arepa
+arepas
+arere
+arere's
+aret
+arethusa's
+arets
+arett
+aretted
+aretting
+aretts
+arew
+arf
+arfs
+arfvedsonite
+argal's
+argala
+argalas
+argali's
+argan
+argand
+argands
+argans
+argemone
+argemone's
+argemones
+argental
+argentine's
+argentite's
+argents
+argentums
+arghan
+arghans
+argillite's
+argils
+arginase
+arginases
+arginine's
+argle
+arglebargle
+argled
+argles
+argling
+argols
+argonaut's
+argonautic
+argons
+argotic
+argufier
+argufiers
+arguli
+argulus
+argumenta
+argumentations
+argumentativenesses
+argus
+argus's
+arguses
+argute
+argutely
+arguteness
+argyria
+argyrite
+argyrodite
+argyrodite's
+arhat
+arhats
+arhatship
+arhatships
+arhythmia
+arhythmic
+ariboflavinoses
+ariboflavinosis
+arider
+aridest
+aridisol
+aridisols
+aridities
+aridness's
+ariels
+arietta's
+ariette
+ariettes
+aril's
+ariled
+arillary
+arillate
+arillated
+arilli
+arillodes
+arilloid
+arillus
+ariosi
+arioso's
+ariot
+aripple
+aris
+arish
+arishes
+arisings
+arista's
+aristo
+aristocratical
+aristocratism
+aristology
+aristos
+arithmetics
+arithmomania
+arithmometer
+arithmometers
+arithmophobia
+arkite
+arkites
+arkoses
+arkosic
+arle
+arled
+arles
+arling
+armagnac
+armagnacs
+armamentaria
+armamentarium
+armamentarium's
+armamentariums
+armatured
+armaturing
+armer
+armers
+armet's
+armgaunt
+armguard
+armguards
+armiger's
+armigeral
+armigero
+armigeros
+armigerous
+armil
+armillae
+armillaria
+armillas
+armils
+arming's
+armlike
+armlock
+armlocks
+armoire's
+armonica
+armonicas
+armorial's
+armorially
+armorials
+armorist
+armorists
+armorplated
+armozeen
+armozeens
+armozine
+armozines
+armures
+armyworm's
+arna
+arnatto
+arnattos
+arnica's
+arnotto
+arnottos
+arnut
+arnuts
+aroba
+arobas
+aroid's
+aroint
+arointed
+arointing
+aroints
+arolla
+arollas
+aromatherapies
+aromaticities
+aromaticness
+aromaticnesses
+aromatizations
+arousals
+arouser
+arousers
+arow
+aroynt
+aroynted
+aroynting
+aroynts
+arpeggiated
+arpeggiates
+arpeggiating
+arpeggiations
+arpeggione
+arpeggiones
+arpen
+arpens
+arpent's
+arpillera
+arquebus's
+arquebusade
+arquebusades
+arquebusier
+arquebusiers
+arracacha
+arracachas
+arrack's
+arragonite
+arrah
+arrahs
+arraigner
+arraigners
+arraignings
+arrantly
+arrased
+arrasene
+arrayal
+arrayals
+arrayer
+arrayers
+arrayment
+arrayments
+arrearages
+arrect
+arreede
+arreeded
+arreedes
+arreeding
+arrestant
+arrestants
+arrestation
+arrestations
+arrestee
+arrestees
+arrester's
+arrestingly
+arrestive
+arrestments
+arrestors
+arrhenotoky
+arrhizal
+arrhythmias
+arrhythmically
+arriage
+arriages
+arriba
+arriero
+arrieros
+arrises
+arrish
+arrishes
+arrivance
+arrivederci's
+arriver
+arriver's
+arrivers
+arrivism
+arrivisme
+arrivisms
+arrivistes
+arri�r�
+arroba's
+arrogances
+arrogancies
+arrogancy
+arrogations
+arrogator
+arrogators
+arrondissements
+arrowheaded
+arrowroots
+arrowwoods
+arrowworm's
+arr�t
+arr�ts
+ars
+arsenate's
+arseniate
+arseniates
+arsenicals
+arsenics
+arsenides
+arsenites
+arseno
+arsenopyrite's
+arsenous
+arsheen
+arsheens
+arshin
+arshine
+arshines
+arshins
+arsine's
+arsino
+arsonite
+arsonites
+arsonous
+arsons
+arsphenamines
+arsyversy
+artal
+artels
+artemisia's
+arterial's
+arterially
+arterials
+arteriogram
+arteriogram's
+arteriograms
+arteriographic
+arteriographies
+arteriography
+arteriography's
+arterioscleroses
+arteriosclerotics
+arteriotomies
+arteritides
+arteritis's
+artfulnesses
+arthralgia's
+arthralgic
+arthritically
+arthrodeses
+arthrodesis
+arthrogram
+arthrogram's
+arthrograms
+arthrographies
+arthrography
+arthrography's
+arthromere's
+arthropathies
+arthropathy
+arthroplasty
+arthroplasty's
+arthropodal
+arthropodan
+arthropodous
+arthroscopically
+arthroscopy's
+arthroses
+arthrosis
+arthrospore's
+arthrotomies
+arthrotomy
+artic
+articling
+artics
+articulacies
+articularly
+articulatenesses
+articulative
+articulators
+artificialities
+artificialnesses
+artilleries
+artillerists
+artillerymen's
+artinesses
+artiodactyl's
+artiodactylous
+artisanships
+artistical
+artistries
+artlessnesses
+artocarpus
+artocarpuses
+artsman
+artwear
+arugola
+arugolas
+arugula's
+aruspices
+arval
+arvicole
+arvicoline
+arvos
+ary
+aryballoid
+aryballos
+aryballoses
+aryls
+arytaenoid's
+arytenoid's
+arytenoidal
+arythmia
+arythmias
+arythmic
+ar�te's
+asana
+asana's
+asanas
+asarabacca
+asarabacca's
+asarabaccas
+asarums
+asbestic
+asbestiform
+asbestine
+asbestosis's
+asbestous
+ascared
+ascariasis's
+ascarides
+ascarids
+ascaris
+ascendable
+ascendancies
+ascendantly
+ascenders
+ascendible
+ascensional
+ascertainably
+ascertainments
+asceses
+ascetical
+asceticisms
+aschelminth
+aschelminths
+asci's
+ascian
+ascians
+ascidia
+ascidian's
+ascites's
+ascitic
+ascitical
+ascititious
+asclepiad
+asclepiad's
+asclepiads
+asclepias
+asclepiases
+ascocarp's
+ascocarpic
+ascocarpous
+ascogonia
+ascoma
+ascoma's
+ascomata
+ascomata's
+ascomycete's
+ascomycetous
+ascorbate
+ascorbates
+ascospore's
+ascosporic
+ascosporous
+ascriptive
+ascriptively
+ascus's
+asdic's
+asea
+aseismic
+asepalous
+asepsis's
+aseptate
+aseptic's
+asepticism
+asepticisms
+aseptics
+asexualities
+ashake
+ashame
+ashamedness
+ashbin
+ashbin's
+ashcake
+ashcake's
+ashcakes
+asheries
+ashery
+ashet
+ashets
+ashfall
+ashfalls
+ashine
+ashiness
+ashinesses
+ashiver
+ashkey
+ashlared
+ashlarings
+ashler
+ashlered
+ashlering
+ashlerings
+ashlers
+ashless
+ashman
+ashmen
+ashpan
+ashpit
+ashplant
+ashplants
+ashrama
+ashramas
+ashramite
+ashramites
+askant
+askar
+askari
+askaris
+askars
+asker's
+askeses
+askesis
+askewness
+askewnesses
+asking's
+askings
+asklent
+askoi
+askos
+aslosh
+asmear
+asmoulder
+asocials
+asparaginase
+asparaginases
+asparagine's
+asparaguses
+asparkle
+aspartames
+aspartate
+aspartates
+aspectable
+asper's
+asperate
+asperated
+asperates
+asperating
+aspergation
+aspergations
+asperge
+asperged
+asperger
+aspergers
+asperges
+aspergill
+aspergill's
+aspergilla
+aspergilli
+aspergillosis's
+aspergills
+aspergillums
+asperging
+aspermia
+aspermias
+aspermic
+asperous
+asperser
+aspersers
+aspersive
+aspersively
+aspersoir
+aspersoirs
+aspersor
+aspersoria
+aspersoriums
+aspersors
+aspersory
+asphalter
+asphalters
+asphaltites
+asphaltums
+aspheric
+aspherical
+aspheterism
+asphyxial
+asphyxiants
+asphyxias
+asphyxiators
+asphyxies
+asphyxy
+aspidia
+aspidioid
+aspidium
+aspirata
+aspiratae
+aspiratory
+aspirers
+aspiringness
+aspis
+aspises
+aspish
+aspout
+asprawl
+aspread
+asprout
+asquat
+asrama
+asramas
+assagai's
+assagaied
+assagaiing
+assailableness
+assailablenesses
+assailers
+assailment
+assailments
+assais
+assart
+assarted
+assarting
+assarts
+assassinator
+assassinators
+assaulters
+assaultively
+assaultiveness
+assaultivenesses
+assayings
+assed
+assegai's
+assegaied
+assegaiing
+assemblagist
+assemblagists
+assemblance
+assemblymen's
+assemblywomen's
+assentaneous
+assentations
+assentator
+assenters
+assentient
+assentingly
+assentive
+assentiveness
+assentors
+assertable
+assertedly
+asserters
+assertible
+assertional
+assertivenesses
+assertory
+assessorial
+assessorship
+assessorships
+asseveratingly
+asseverations
+asseverative
+assibilation
+assibilations
+assiduousnesses
+assiege
+assieged
+assieges
+assieging
+assiento
+assientos
+assignabilities
+assignably
+assignats
+assignee's
+assimilabilities
+assimilability
+assimilationism
+assimilationisms
+assimilationists
+assimilations
+assimilators
+assistances
+assistantship
+assistantships
+assister
+assisters
+assistive
+assistor
+assistors
+assized
+assizer
+assizers
+assizing
+asslike
+associabilities
+associability
+associability's
+associable
+associateships
+associationism's
+associationist
+associationistic
+associationists
+associativities
+assoilment
+assoilments
+assonances
+assonated
+assonates
+assonating
+assortatively
+assortedness
+assorters
+assot
+assuagement's
+assuager
+assuagers
+assubjugate
+assuefaction
+assuefactions
+assuetude
+assuetudes
+assumabilities
+assumability
+assumer
+assumers
+assumingly
+assumings
+assumpsits
+assumptionist
+assumptionists
+assumptively
+assurable
+assuredness's
+assurers
+assurgencies
+assurgency
+asswage
+asswaged
+asswages
+asswaging
+assythment
+assythments
+astable
+astacological
+astacologist
+astacologists
+astacology
+astarboard
+astare
+astart
+astasia
+astasia's
+astasias
+astatically
+astaticism
+astaticisms
+astatines
+astatki
+asteism
+astelic
+astely
+asteria
+asterias
+asterid
+asteridian
+asteridians
+asterids
+asteriskless
+asterism's
+asterismal
+asteroidal
+asthenia's
+asthenics
+asthenies
+asthenopia's
+asthenopic
+asthenosphere's
+asthenospheric
+astheny
+astheny's
+asthmas
+asthmatical
+asthore
+asthores
+astichous
+astigmatic's
+astigmatically
+astigmatics
+astigmia's
+astilbe's
+astomous
+astone
+astonies
+astonishments
+astony
+astonying
+astoop
+astoundment
+astragal's
+astragalar
+astragali
+astragalus's
+astrakhans
+astrals
+astrand
+astraphobia's
+astrapophobia
+astricted
+astricting
+astriction
+astrictions
+astrictive
+astricts
+astringe
+astringed
+astringencies
+astringer
+astringers
+astringes
+astringing
+astrobiological
+astrobiologies
+astrobiologist
+astrobiologists
+astrobleme
+astroblemes
+astrochemist
+astrochemistries
+astrochemistry
+astrochemists
+astrocompass
+astrocompasses
+astrocyte
+astrocyte's
+astrocytes
+astrocytic
+astrocytoma
+astrocytomas
+astrocytomata
+astrodome's
+astrodynamic
+astrodynamicist
+astrodynamicists
+astrogeologic
+astrogeologies
+astrogeologist
+astrogeologists
+astroids
+astrolatry
+astrolatry's
+astrologies
+astrometeorology
+astrometric
+astrometrical
+astrometry's
+astronavigation's
+astronavigator
+astronavigators
+astronomies
+astrophel
+astrophels
+astrophotograph
+astrophotographer
+astrophotographers
+astrophotographic
+astrophotographies
+astrophotographs
+astrophysically
+astrospheres
+astrut
+astucious
+astuciously
+astucity
+astutenesses
+asudden
+asura
+asuras
+asway
+aswell
+aswim
+aswing
+aswirl
+aswoon
+asyla
+asymmetron
+asymptote's
+asynapses
+asynapsis
+asynartete
+asynartetes
+asynartetic
+asynchronies
+asynchronism's
+asynchrony
+asynchrony's
+asyndeta
+asyndetic
+asyndetically
+asyndetons
+asynergia
+asynergia's
+asynergies
+asynergy
+asynergy's
+asyntactic
+asystole
+asystole's
+asystoles
+asystolism
+at's
+atabal
+atabals
+atabeg
+atabegs
+atabek
+atabeks
+atabrin
+atacamite
+atactic
+ataghans
+atalaya
+atalayas
+atamans
+atamasco
+atamascos
+atap
+ataps
+atar
+atar's
+ataractic's
+ataraxia's
+ataraxic's
+ataraxies
+atars
+atavic
+atavisms
+ataxias
+ataxies
+ataxy
+ataxy's
+atebrin
+atechnic
+atelectasis's
+atelectatic
+ateleiosis
+ateleiosis's
+atelic
+atemoya
+atemoyas
+atemporal
+atenolol
+atenolol's
+atenolols
+ates
+athanasies
+athanasy
+athanors
+atheisms
+athelings
+athematically
+athenaeum's
+atheological
+atheology
+atheoretical
+atheous
+atherine
+atherines
+athermancies
+athermancy
+athermanous
+atherogeneses
+atherogenesis
+atherogenesis's
+atherogenic
+atherogenicities
+atherogenicity
+atheroma's
+atheromata
+atheromatoses
+atheromatosis
+atheromatous
+atheroscleroses
+atherosclerotically
+athetesis
+athetoid
+athetoids
+athetoses
+athetosic
+athetosis
+athetosis's
+athetotic
+athleticism's
+athodyd's
+athrill
+athrob
+athrocyte
+athrocytes
+athrocytoses
+athrocytosis
+athwartship
+atimy
+atlatls
+atma
+atmans
+atmas
+atmologist
+atmologists
+atmology
+atmometer's
+atmosphered
+atmospherical
+atoc
+atocia
+atocs
+atok
+atokal
+atoke
+atokes
+atokous
+atoks
+atomical
+atomicities
+atomies
+atomisms
+atomistically
+atomists
+atonable
+atonalism's
+atonalistic
+atonalists
+atonalities
+atoneable
+atonements
+atoners
+atonia
+atonia's
+atonias
+atonicities
+atonicity
+atonicity's
+atonics
+atoningly
+atony's
+atopic
+atopies
+atopy
+atopy's
+atoxic
+atpoints
+atrabiliar
+atrabiliousness
+atrabiliousnesses
+atracurium
+atrament
+atramental
+atramentous
+atraments
+atrazine
+atrazines
+atremble
+atresia
+atresia's
+atresias
+atresic
+atretic
+atria's
+atrociousnesses
+atrophia
+atrophias
+atropia
+atropines
+atropins
+atropism
+atropisms
+atropous
+attaboys
+attacher
+attachers
+attackable
+attackman
+attackmen
+attagirl
+attainabilities
+attainableness
+attainableness's
+attainablenesses
+attainders
+attainer
+attainers
+attaintment
+attaintments
+attaintures
+attap
+attaps
+attars
+attelet
+attelets
+attemptability
+attempter
+attempters
+attendancy
+attendantly
+attender's
+attending's
+attendment
+attendments
+attent
+attentat
+attentats
+attentivenesses
+attenuants
+attenuations
+attercop
+attercops
+attestable
+attestant
+attestant's
+attestants
+attestative
+attesters
+attestors
+atticisms
+atticist
+atticists
+atticized
+atticizing
+attirement
+attirements
+attirings
+attitudinally
+attitudinarians
+attollens
+attollent
+attollents
+attorneydom
+attorneyism
+attorneyship's
+attornment
+attornments
+attractance
+attractances
+attractancies
+attractancy
+attracter
+attracters
+attractingly
+attractivenesses
+attrahens
+attrahents
+attrap
+attrapped
+attrapping
+attraps
+attributers
+attributional
+attributiveness
+attributivenesses
+attributors
+attrist
+attrite
+attrited
+attrites
+attriting
+attritions
+attrits
+attritted
+attritting
+attuent
+attuite
+attuited
+attuites
+attuiting
+attuition
+attuitional
+attuitive
+attuitively
+attunements
+atwain
+atweel
+atweels
+atwixt
+atypic
+atypicalities
+atypicality
+atypicality's
+aubades
+auberges
+aubergine's
+aubergiste
+aubergistes
+aubretia
+aubretias
+aubrieta
+aubrietas
+aubrietia
+aubrietias
+auburns
+auctionable
+auctionary
+auctioneered
+auctioneering
+aucuba
+aucubas
+audaciousnesses
+audacities
+audad
+audad's
+audads
+audibilities
+audibleness
+audibleness's
+audiblenesses
+audiencia
+audients
+audile's
+auding
+audings
+audiocassette's
+audiogram
+audiogram's
+audiograms
+audiograph
+audiographs
+audiolingual
+audiologic
+audiologies
+audiometrician
+audiometricians
+audiometries
+audiometry
+audiometry's
+audiophil
+audiophils
+audiotyping
+audiotypist
+audiotypists
+audiovisual's
+audiovisually
+audiphones
+auditable
+auditee
+auditees
+auditives
+auditories
+auditorily
+auditorship
+auditorships
+auditory's
+auditress
+auditresses
+auf
+aufait
+aufgabe
+aufgabes
+aufs
+augend's
+augite's
+augitic
+augment's
+augmentable
+augmentative's
+augmentatives
+augmentor
+augmentors
+augurer
+augurers
+augurship
+augurships
+auguste
+augustnesses
+augusts
+auklet's
+aula
+aularian
+aulas
+auloi
+aumail
+aumailed
+aumailing
+aumails
+aumbries
+aumbry
+aumil
+aumils
+aune
+aunes
+aunthood
+aunthoods
+auntlier
+auntliest
+auntlike
+auntly
+aurar's
+aurate
+aurated
+aurates
+aureately
+aurei
+aureity
+aurelian
+aurelias
+aureolae
+aureoled
+aureoling
+aureomycin
+aures
+auricula's
+auriculae
+auricular's
+auricularly
+auriculated
+auriculately
+auriform
+auris
+auriscopes
+aurists
+aurochs's
+aurorally
+aurorean
+aurums
+auscultative
+auscultator
+auscultators
+auscultatory
+ausform
+ausformed
+ausforming
+ausforms
+auslander
+auslanders
+auslese
+ausleses
+auspex's
+auspiciousnesses
+austenite's
+austenitic
+austereness
+austereness's
+austerenesses
+austral's
+australes
+australite
+australopithecine
+australopithecine's
+australopithecines
+australs
+austringer
+austringers
+ausubo
+ausubos
+autacoid's
+autacoidal
+autarchical
+autarchist
+autarchists
+autarchs
+autarchy's
+autarkical
+autarkist
+autarkists
+autarky's
+autecologic
+autecological
+autecologies
+auteurisms
+auteurists
+auteurs
+authentical
+authenticities
+authorcraft
+authorings
+authorish
+authorism
+authoritarianisms
+authoritativenesses
+authorless
+authorships
+autisms
+autist
+autistically
+autistics
+autists
+autoantibodies
+autoantibody
+autobahnen
+autobus's
+autocades
+autocar
+autocarp
+autocarps
+autocars
+autocatalysis's
+autocatalytic
+autocatalytically
+autocephalies
+autocephaly
+autochanger
+autochangers
+autochthonal
+autochthonies
+autochthonism
+autochthonisms
+autochthonously
+autochthons
+autochthony
+autochthony's
+autocide
+autocides
+autoclaved
+autoclaving
+autocoid
+autocoid's
+autocoids
+autocoprophagy
+autocorrelations
+autocrime
+autocritique
+autocrosses
+autocue's
+autocues
+autocycle
+autocycles
+autodestruct
+autodestructed
+autodestructing
+autodestructs
+autodial
+autodials
+autodidactically
+autodidacticism
+autodigestion
+autodyne
+autodynes
+autoed
+autoerotically
+autoeroticism's
+autoerotism's
+autoexposure
+autoflare
+autoflares
+autofocus
+autofocuses
+autogamic
+autogamous
+a

<TRUNCATED>


[36/49] incubator-kylin git commit: [maven-release-plugin] prepare for next development iteration

Posted by lu...@apache.org.
[maven-release-plugin] prepare for next development iteration


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

Branch: refs/heads/0.7.1
Commit: 3db83d8ccdb914d105fa1963c7b6fb33986da9fd
Parents: 0c42b84
Author: Luke Han <lu...@apache.org>
Authored: Mon Jun 1 00:11:00 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   | 2 +-
 common/pom.xml        | 2 +-
 cube/pom.xml          | 2 +-
 dictionary/pom.xml    | 2 +-
 invertedindex/pom.xml | 2 +-
 jdbc/pom.xml          | 2 +-
 job/pom.xml           | 2 +-
 metadata/pom.xml      | 2 +-
 pom.xml               | 4 ++--
 query/pom.xml         | 2 +-
 server/pom.xml        | 2 +-
 storage/pom.xml       | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index 9417503..8986f0c 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index 310ee93..faed39d 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index d3f6915..07f9a58 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 3d04215..075fab1 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index 10669e7..8e89ee4 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 9c29977..7f707c7 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.1-incubating</version>
+		<version>0.7.2-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index e49c792..44a0f5f 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index 2c7e7ab..e842673 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e7a8d0b..261ba58 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.1-incubating</version>
+    <version>0.7.2-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -145,7 +145,7 @@
         <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</developerConnection>
         <url>https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</url>
-        <tag>kylin-0.7.1-incubating</tag>
+        <tag>apache-kylin-0.7.1-incubating</tag>
     </scm>
 
     <dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 60b09e1..3881b4d 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 276e384..1578c62 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/3db83d8c/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 3b18de0..0d5918a 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>


[35/49] incubator-kylin git commit: manually rollback for rc3, add assembly plugin to exclude website content for release

Posted by lu...@apache.org.
manually rollback for rc3, add assembly plugin to exclude website content for release


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

Branch: refs/heads/0.7.1
Commit: 9792e4f2ae8e1800105a69db56c5a4e6ada739db
Parents: 4c45b8c
Author: Luke Han <lu...@apache.org>
Authored: Sun May 31 19:08:10 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml                 |   2 +-
 common/pom.xml                      |   2 +-
 cube/pom.xml                        |   2 +-
 dictionary/pom.xml                  |   2 +-
 jdbc/pom.xml                        |   2 +-
 job/pom.xml                         |   2 +-
 metadata/pom.xml                    |   2 +-
 pom.xml                             |  23 ++++++-
 query/pom.xml                       |   2 +-
 server/pom.xml                      |   2 +-
 src/main/config/source-assembly.xml | 105 +++++++++++++++++++++++++++++++
 storage/pom.xml                     |   2 +-
 12 files changed, 137 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index 8986f0c..cf06b15 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index faed39d..e8cf42b 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 07f9a58..0fdd708 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 075fab1..524a52f 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 7f707c7..24feef9 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.2-incubating-SNAPSHOT</version>
+		<version>0.7.1-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index 44a0f5f..d3c0b55 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e842673..e10777a 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8c0b6e6..a0d1443 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.2-incubating-SNAPSHOT</version>
+    <version>0.7.1-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -780,6 +780,27 @@
                             <failOnError>false</failOnError>
                         </configuration>
                     </plugin>
+                     <!-- Override the parent assembly execution to customize the assembly
+               descriptor and final name. -->
+          <plugin>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>source-release-assembly</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>single</goal>
+                </goals>
+                <configuration>
+                  <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+                  <appendAssemblyId>false</appendAssemblyId>
+                  <descriptor>src/main/config/assemblies/source-assembly.xml</descriptor>
+                  <finalName>apache-kylin-${project.version}-src</finalName>
+                  <tarLongFileMode>gnu</tarLongFileMode>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
                 </plugins>
             </build>
         </profile>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 3881b4d..030482b 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 1578c62..c99ed94 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/src/main/config/source-assembly.xml
----------------------------------------------------------------------
diff --git a/src/main/config/source-assembly.xml b/src/main/config/source-assembly.xml
new file mode 100644
index 0000000..d9f1501
--- /dev/null
+++ b/src/main/config/source-assembly.xml
@@ -0,0 +1,105 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+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.
+-->
+<assembly>
+    <id>source-release</id>
+    <formats>
+        <format>zip</format>
+        <format>tar.gz</format>
+    </formats>
+    <fileSets>
+        <!-- main project directory structure -->
+        <fileSet>
+            <directory>.</directory>
+            <outputDirectory>/</outputDirectory>
+            <useDefaultExcludes>true</useDefaultExcludes>
+            <excludes>
+                <!-- build output -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${project.build.directory}.*]
+                </exclude>
+
+                <!-- NOTE: Most of the following excludes should not be required
+                  if the standard release process is followed. This is because the release
+                  plugin checks out project sources into a location like target/checkout, then
+                  runs the build from there. The result is a source-release archive that comes
+                  from a pretty clean directory structure. HOWEVER, if the release plugin is
+                  configured to run extra goals or generate a project website, it's definitely
+                  possible that some of these files will be present. So, it's safer to exclude
+                  them. -->
+
+                <!-- IDEs -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.idea(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?out(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]
+                </exclude>
+
+
+                <!-- scm -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore(/.*)?]
+                </exclude>
+
+                <exclude>**/.buildpath</exclude>
+                <exclude>**/sandbox/**</exclude>
+
+                <!-- misc -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]
+                </exclude>
+
+                <!-- release-plugin temp files -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
+                </exclude>
+
+                <exclude>**/website/**</exclude>
+            </excludes>
+        </fileSet>
+        <!-- LICENSE, NOTICE, DEPENDENCIES, git.properties, etc. calculated at build time -->
+        <fileSet>
+            <directory>${project.build.directory}/maven-shared-archive-resources/META-INF
+            </directory>
+            <outputDirectory>/</outputDirectory>
+        </fileSet>
+        <fileSet>
+            <directory>${project.build.directory}</directory>
+            <includes>
+                <include>git.properties</include>
+            </includes>
+            <outputDirectory>/</outputDirectory>
+        </fileSet>
+    </fileSets>
+</assembly>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/9792e4f2/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 0d5918a..177e731 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>


[43/49] incubator-kylin git commit: [maven-release-plugin] rollback the release of kylin-0.7.1-incubating

Posted by lu...@apache.org.
[maven-release-plugin] rollback the release of kylin-0.7.1-incubating


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

Branch: refs/heads/0.7.1
Commit: ae0486e83f510b956b78c322ac427b6d57cf5461
Parents: 1bc7eb9
Author: Luke Han <lu...@apache.org>
Authored: Tue May 26 19:30:18 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   | 2 +-
 common/pom.xml        | 2 +-
 cube/pom.xml          | 2 +-
 dictionary/pom.xml    | 2 +-
 invertedindex/pom.xml | 2 +-
 jdbc/pom.xml          | 2 +-
 job/pom.xml           | 2 +-
 metadata/pom.xml      | 2 +-
 pom.xml               | 2 +-
 query/pom.xml         | 2 +-
 server/pom.xml        | 2 +-
 storage/pom.xml       | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index 8986f0c..cf06b15 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index faed39d..e8cf42b 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 07f9a58..0fdd708 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 075fab1..524a52f 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index 8e89ee4..dcf961b 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 7f707c7..24feef9 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.2-incubating-SNAPSHOT</version>
+		<version>0.7.1-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index 44a0f5f..d3c0b55 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e842673..e10777a 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8c0b6e6..404ce4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.2-incubating-SNAPSHOT</version>
+    <version>0.7.1-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 3881b4d..030482b 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 1578c62..c99ed94 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ae0486e8/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 0d5918a..177e731 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>


[14/49] incubator-kylin git commit: Update sandbox site configurations to 2.2.4.2-2

Posted by lu...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/yarn-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/yarn-site.xml b/examples/test_case_data/sandbox/yarn-site.xml
index 6562319..f764f1b 100644
--- a/examples/test_case_data/sandbox/yarn-site.xml
+++ b/examples/test_case_data/sandbox/yarn-site.xml
@@ -1,522 +1,484 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:30:55 2015-->
 <configuration>
-    
-    <property>
-      <name>hadoop.registry.rm.enabled</name>
-      <value>false</value>
-    </property>
-    
-    <property>
-      <name>hadoop.registry.zk.quorum</name>
-      <value>sandbox.hortonworks.com:2181</value>
-    </property>
-    
-    <property>
-      <name>yarn.acl.enable</name>
-      <value>false</value>
-    </property>
-    
-    <property>
-      <name>yarn.admin.acl</name>
-      <value></value>
-    </property>
-    
-    <property>
-      <name>yarn.application.classpath</name>
-      <value>$HADOOP_CONF_DIR,/usr/hdp/current/hadoop-client/*,/usr/hdp/current/hadoop-client/lib/*,/usr/hdp/current/hadoop-hdfs-client/*,/usr/hdp/current/hadoop-hdfs-client/lib/*,/usr/hdp/current/hadoop-yarn-client/*,/usr/hdp/current/hadoop-yarn-client/lib/*</value>
-    </property>
-    
+
     <property>
-      <name>yarn.client.nodemanager-connect.max-wait-ms</name>
-      <value>900000</value>
+        <name>hadoop.registry.rm.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.client.nodemanager-connect.retry-interval-ms</name>
-      <value>10000</value>
+        <name>hadoop.registry.zk.quorum</name>
+        <value>sandbox.hortonworks.com:2181</value>
     </property>
-    
+
     <property>
-      <name>yarn.log-aggregation-enable</name>
-      <value>true</value>
+        <name>yarn.acl.enable</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.log-aggregation.retain-seconds</name>
-      <value>2592000</value>
+        <name>yarn.admin.acl</name>
+        <value></value>
     </property>
-    
+
     <property>
-      <name>yarn.log.server.url</name>
-      <value>http://sandbox.hortonworks.com:19888/jobhistory/logs</value>
+        <name>yarn.application.classpath</name>
+        <value>$HADOOP_CONF_DIR,/usr/hdp/current/hadoop-client/*,/usr/hdp/current/hadoop-client/lib/*,/usr/hdp/current/hadoop-hdfs-client/*,/usr/hdp/current/hadoop-hdfs-client/lib/*,/usr/hdp/current/hadoop-yarn-client/*,/usr/hdp/current/hadoop-yarn-client/lib/*</value>
     </property>
-    
+
     <property>
-      <name>yarn.node-labels.fs-store.retry-policy-spec</name>
-      <value>2000, 500</value>
+        <name>yarn.client.nodemanager-connect.max-wait-ms</name>
+        <value>900000</value>
     </property>
-    
+
     <property>
-      <name>yarn.node-labels.fs-store.root-dir</name>
-      <value>/system/yarn/node-labels</value>
+        <name>yarn.client.nodemanager-connect.retry-interval-ms</name>
+        <value>10000</value>
     </property>
-    
+
     <property>
-      <name>yarn.node-labels.manager-class</name>
-      <value>org.apache.hadoop.yarn.server.resourcemanager.nodelabels.MemoryRMNodeLabelsManager</value>
+        <name>yarn.log-aggregation-enable</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.address</name>
-      <value>0.0.0.0:45454</value>
+        <name>yarn.log-aggregation.retain-seconds</name>
+        <value>2592000</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.admin-env</name>
-      <value>MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX</value>
+        <name>yarn.log.server.url</name>
+        <value>http://sandbox.hortonworks.com:19888/jobhistory/logs</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.aux-services</name>
-      <value>mapreduce_shuffle</value>
+        <name>yarn.node-labels.fs-store.retry-policy-spec</name>
+        <value>2000, 500</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
-      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
+        <name>yarn.node-labels.fs-store.root-dir</name>
+        <value>/system/yarn/node-labels</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.bind-host</name>
-      <value>0.0.0.0</value>
+        <name>yarn.node-labels.manager-class</name>
+        <value>org.apache.hadoop.yarn.server.resourcemanager.nodelabels.MemoryRMNodeLabelsManager</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.container-executor.class</name>
-      <value>org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor</value>
+        <name>yarn.nodemanager.address</name>
+        <value>0.0.0.0:45454</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.container-monitor.interval-ms</name>
-      <value>3000</value>
+        <name>yarn.nodemanager.admin-env</name>
+        <value>MALLOC_ARENA_MAX=$MALLOC_ARENA_MAX</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.delete.debug-delay-sec</name>
-      <value>0</value>
+        <name>yarn.nodemanager.aux-services</name>
+        <value>mapreduce_shuffle</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
-      <value>90</value>
+        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
+        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb</name>
-      <value>1000</value>
+        <name>yarn.nodemanager.bind-host</name>
+        <value>0.0.0.0</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
-      <value>0.25</value>
+        <name>yarn.nodemanager.container-executor.class</name>
+        <value>org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.health-checker.interval-ms</name>
-      <value>135000</value>
+        <name>yarn.nodemanager.container-monitor.interval-ms</name>
+        <value>3000</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.health-checker.script.timeout-ms</name>
-      <value>60000</value>
+        <name>yarn.nodemanager.delete.debug-delay-sec</name>
+        <value>0</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.linux-container-executor.cgroups.hierarchy</name>
-      <value>hadoop-yarn</value>
+        <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
+        <value>90</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.linux-container-executor.cgroups.mount</name>
-      <value>false</value>
+        <name>yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb</name>
+        <value>1000</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage</name>
-      <value>false</value>
+        <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name>
+        <value>0.25</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.linux-container-executor.group</name>
-      <value>hadoop</value>
+        <name>yarn.nodemanager.health-checker.interval-ms</name>
+        <value>135000</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.linux-container-executor.resources-handler.class</name>
-      <value>org.apache.hadoop.yarn.server.nodemanager.util.DefaultLCEResourcesHandler</value>
+        <name>yarn.nodemanager.health-checker.script.timeout-ms</name>
+        <value>60000</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.local-dirs</name>
-      <value>/hadoop/yarn/local</value>
+        <name>yarn.nodemanager.linux-container-executor.cgroups.hierarchy</name>
+        <value>hadoop-yarn</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.log-aggregation.compression-type</name>
-      <value>gz</value>
+        <name>yarn.nodemanager.linux-container-executor.cgroups.mount</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.log-aggregation.debug-enabled</name>
-      <value>false</value>
+        <name>yarn.nodemanager.linux-container-executor.cgroups.strict-resource-usage</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.log-aggregation.num-log-files-per-app</name>
-      <value>30</value>
+        <name>yarn.nodemanager.linux-container-executor.group</name>
+        <value>hadoop</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
-      <value>-1</value>
+        <name>yarn.nodemanager.linux-container-executor.resources-handler.class</name>
+        <value>org.apache.hadoop.yarn.server.nodemanager.util.DefaultLCEResourcesHandler</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.log-dirs</name>
-      <value>/hadoop/yarn/log</value>
+        <name>yarn.nodemanager.local-dirs</name>
+        <value>/hadoop/yarn/local</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.log.retain-second</name>
-      <value>604800</value>
+        <name>yarn.nodemanager.log-aggregation.compression-type</name>
+        <value>gz</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.pmem-check-enabled</name>
-      <value>false</value>
+        <name>yarn.nodemanager.log-aggregation.debug-enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.recovery.dir</name>
-      <value>/var/log/hadoop-yarn/nodemanager/recovery-state</value>
+        <name>yarn.nodemanager.log-aggregation.num-log-files-per-app</name>
+        <value>30</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.recovery.enabled</name>
-      <value>false</value>
+        <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
+        <value>-1</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.remote-app-log-dir</name>
-      <value>/app-logs</value>
+        <name>yarn.nodemanager.log-dirs</name>
+        <value>/hadoop/yarn/log</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
-      <value>logs</value>
+        <name>yarn.nodemanager.log.retain-second</name>
+        <value>604800</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.resource.cpu-vcores</name>
-      <value>8</value>
+        <name>yarn.nodemanager.recovery.dir</name>
+        <value>/var/log/hadoop-yarn/nodemanager/recovery-state</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.resource.memory-mb</name>
-      <value>2250</value>
+        <name>yarn.nodemanager.recovery.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.resource.percentage-physical-cpu-limit</name>
-      <value>100</value>
+        <name>yarn.nodemanager.remote-app-log-dir</name>
+        <value>/app-logs</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.vmem-check-enabled</name>
-      <value>false</value>
+        <name>yarn.nodemanager.remote-app-log-dir-suffix</name>
+        <value>logs</value>
     </property>
-    
+
     <property>
-      <name>yarn.nodemanager.vmem-pmem-ratio</name>
-      <value>10</value>
+        <name>yarn.nodemanager.resource.cpu-vcores</name>
+        <value>8</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.address</name>
-      <value>sandbox.hortonworks.com:8050</value>
+        <name>yarn.nodemanager.resource.memory-mb</name>
+        <value>14336</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.admin.address</name>
-      <value>sandbox.hortonworks.com:8141</value>
+        <name>yarn.nodemanager.resource.percentage-physical-cpu-limit</name>
+        <value>100</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.am.max-attempts</name>
-      <value>2</value>
+        <name>yarn.nodemanager.vmem-check-enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.bind-host</name>
-      <value>0.0.0.0</value>
+        <name>yarn.nodemanager.vmem-pmem-ratio</name>
+        <value>2.1</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.connect.max-wait.ms</name>
-      <value>900000</value>
+        <name>yarn.resourcemanager.address</name>
+        <value>sandbox.hortonworks.com:8050</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.connect.retry-interval.ms</name>
-      <value>30000</value>
+        <name>yarn.resourcemanager.admin.address</name>
+        <value>sandbox.hortonworks.com:8141</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.fs.state-store.retry-policy-spec</name>
-      <value>2000, 500</value>
+        <name>yarn.resourcemanager.am.max-attempts</name>
+        <value>2</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.fs.state-store.uri</name>
-      <value> </value>
+        <name>yarn.resourcemanager.bind-host</name>
+        <value>0.0.0.0</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.ha.enabled</name>
-      <value>false</value>
+        <name>yarn.resourcemanager.connect.max-wait.ms</name>
+        <value>900000</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.hostname</name>
-      <value>sandbox.hortonworks.com</value>
+        <name>yarn.resourcemanager.connect.retry-interval.ms</name>
+        <value>30000</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.nodes.exclude-path</name>
-      <value>/etc/hadoop/conf/yarn.exclude</value>
+        <name>yarn.resourcemanager.fs.state-store.retry-policy-spec</name>
+        <value>2000, 500</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.recovery.enabled</name>
-      <value>false</value>
+        <name>yarn.resourcemanager.fs.state-store.uri</name>
+        <value> </value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.resource-tracker.address</name>
-      <value>sandbox.hortonworks.com:8025</value>
+        <name>yarn.resourcemanager.ha.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.scheduler.address</name>
-      <value>sandbox.hortonworks.com:8030</value>
+        <name>yarn.resourcemanager.hostname</name>
+        <value>sandbox.hortonworks.com</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.scheduler.class</name>
-      <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
+        <name>yarn.resourcemanager.nodes.exclude-path</name>
+        <value>/etc/hadoop/conf/yarn.exclude</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.state-store.max-completed-applications</name>
-      <value>${yarn.resourcemanager.max-completed-applications}</value>
+        <name>yarn.resourcemanager.recovery.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.store.class</name>
-      <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
+        <name>yarn.resourcemanager.resource-tracker.address</name>
+        <value>sandbox.hortonworks.com:8025</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.system-metrics-publisher.dispatcher.pool-size</name>
-      <value>10</value>
+        <name>yarn.resourcemanager.scheduler.address</name>
+        <value>sandbox.hortonworks.com:8030</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.system-metrics-publisher.enabled</name>
-      <value>true</value>
+        <name>yarn.resourcemanager.scheduler.class</name>
+        <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.webapp.address</name>
-      <value>sandbox.hortonworks.com:8088</value>
+        <name>yarn.resourcemanager.state-store.max-completed-applications</name>
+        <value>${yarn.resourcemanager.max-completed-applications}</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled</name>
-      <value>false</value>
+        <name>yarn.resourcemanager.store.class</name>
+        <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.webapp.proxyuser.hcat.groups</name>
-      <value>*</value>
+        <name>yarn.resourcemanager.system-metrics-publisher.dispatcher.pool-size</name>
+        <value>10</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.webapp.proxyuser.hcat.hosts</name>
-      <value>*</value>
+        <name>yarn.resourcemanager.system-metrics-publisher.enabled</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.webapp.proxyuser.oozie.groups</name>
-      <value>*</value>
+        <name>yarn.resourcemanager.webapp.address</name>
+        <value>sandbox.hortonworks.com:8088</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.webapp.proxyuser.oozie.hosts</name>
-      <value>*</value>
+        <name>yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.work-preserving-recovery.enabled</name>
-      <value>false</value>
+        <name>yarn.resourcemanager.work-preserving-recovery.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms</name>
-      <value>10000</value>
+        <name>yarn.resourcemanager.work-preserving-recovery.scheduling-wait-ms</name>
+        <value>10000</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.zk-acl</name>
-      <value>world:anyone:rwcda </value>
+        <name>yarn.resourcemanager.zk-acl</name>
+        <value>world:anyone:rwcda</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.zk-address</name>
-      <value>localhost:2181</value>
+        <name>yarn.resourcemanager.zk-address</name>
+        <value>localhost:2181</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.zk-num-retries</name>
-      <value>1000</value>
+        <name>yarn.resourcemanager.zk-num-retries</name>
+        <value>1000</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.zk-retry-interval-ms</name>
-      <value>1000</value>
+        <name>yarn.resourcemanager.zk-retry-interval-ms</name>
+        <value>1000</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.zk-state-store.parent-path</name>
-      <value>/rmstore</value>
+        <name>yarn.resourcemanager.zk-state-store.parent-path</name>
+        <value>/rmstore</value>
     </property>
-    
+
     <property>
-      <name>yarn.resourcemanager.zk-timeout-ms</name>
-      <value>10000</value>
+        <name>yarn.resourcemanager.zk-timeout-ms</name>
+        <value>10000</value>
     </property>
-    
+
     <property>
-      <name>yarn.scheduler.maximum-allocation-mb</name>
-      <value>2250</value>
+        <name>yarn.scheduler.maximum-allocation-mb</name>
+        <value>14336</value>
     </property>
-    
+
     <property>
-      <name>yarn.scheduler.minimum-allocation-mb</name>
-      <value>250</value>
+        <name>yarn.scheduler.minimum-allocation-mb</name>
+        <value>3584</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.address</name>
-      <value>sandbox.hortonworks.com:10200</value>
+        <name>yarn.timeline-service.address</name>
+        <value>sandbox.hortonworks.com:10200</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.bind-host</name>
-      <value>0.0.0.0</value>
+        <name>yarn.timeline-service.bind-host</name>
+        <value>0.0.0.0</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.client.max-retries</name>
-      <value>30</value>
+        <name>yarn.timeline-service.client.max-retries</name>
+        <value>30</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.client.retry-interval-ms</name>
-      <value>1000</value>
+        <name>yarn.timeline-service.client.retry-interval-ms</name>
+        <value>1000</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.enabled</name>
-      <value>true</value>
+        <name>yarn.timeline-service.enabled</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.generic-application-history.store-class</name>
-      <value>org.apache.hadoop.yarn.server.applicationhistoryservice.NullApplicationHistoryStore</value>
+        <name>yarn.timeline-service.generic-application-history.store-class</name>
+        <value>org.apache.hadoop.yarn.server.applicationhistoryservice.NullApplicationHistoryStore</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.http-authentication.simple.anonymous.allowed</name>
-      <value>true</value>
+        <name>yarn.timeline-service.http-authentication.simple.anonymous.allowed</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.http-authentication.type</name>
-      <value>simple</value>
+        <name>yarn.timeline-service.http-authentication.type</name>
+        <value>simple</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.leveldb-timeline-store.path</name>
-      <value>/hadoop/yarn/timeline</value>
+        <name>yarn.timeline-service.leveldb-timeline-store.path</name>
+        <value>/hadoop/yarn/timeline</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.leveldb-timeline-store.read-cache-size</name>
-      <value>104857600</value>
+        <name>yarn.timeline-service.leveldb-timeline-store.read-cache-size</name>
+        <value>104857600</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.leveldb-timeline-store.start-time-read-cache-size</name>
-      <value>10000</value>
+        <name>yarn.timeline-service.leveldb-timeline-store.start-time-read-cache-size</name>
+        <value>10000</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.leveldb-timeline-store.start-time-write-cache-size</name>
-      <value>10000</value>
+        <name>yarn.timeline-service.leveldb-timeline-store.start-time-write-cache-size</name>
+        <value>10000</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms</name>
-      <value>300000</value>
+        <name>yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms</name>
+        <value>300000</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.store-class</name>
-      <value>org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore</value>
+        <name>yarn.timeline-service.store-class</name>
+        <value>org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.ttl-enable</name>
-      <value>true</value>
+        <name>yarn.timeline-service.ttl-enable</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.ttl-ms</name>
-      <value>2678400000</value>
+        <name>yarn.timeline-service.ttl-ms</name>
+        <value>2678400000</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.webapp.address</name>
-      <value>sandbox.hortonworks.com:8188</value>
+        <name>yarn.timeline-service.webapp.address</name>
+        <value>sandbox.hortonworks.com:8188</value>
     </property>
-    
+
     <property>
-      <name>yarn.timeline-service.webapp.https.address</name>
-      <value>sandbox.hortonworks.com:8190</value>
+        <name>yarn.timeline-service.webapp.https.address</name>
+        <value>sandbox.hortonworks.com:8190</value>
     </property>
-    
-  </configuration>
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/job/src/test/java/org/apache/kylin/job/BuildCubeWithEngineTest.java
----------------------------------------------------------------------
diff --git a/job/src/test/java/org/apache/kylin/job/BuildCubeWithEngineTest.java b/job/src/test/java/org/apache/kylin/job/BuildCubeWithEngineTest.java
index e6277db..a5a1156 100644
--- a/job/src/test/java/org/apache/kylin/job/BuildCubeWithEngineTest.java
+++ b/job/src/test/java/org/apache/kylin/job/BuildCubeWithEngineTest.java
@@ -81,7 +81,7 @@ public class BuildCubeWithEngineTest {
         logger.info("Adding to classpath: " + new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath());
         ClassUtil.addClasspath(new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath());
         System.setProperty(KylinConfig.KYLIN_CONF, "../examples/test_case_data/sandbox");
-        System.setProperty("hdp.version", "2.2.0.0-2041"); // mapred-site.xml ref this
+        System.setProperty("hdp.version", "2.2.4.2-2"); // mapred-site.xml ref this
     }
 
     @Before

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/job/src/test/java/org/apache/kylin/job/BuildIIWithEngineTest.java
----------------------------------------------------------------------
diff --git a/job/src/test/java/org/apache/kylin/job/BuildIIWithEngineTest.java b/job/src/test/java/org/apache/kylin/job/BuildIIWithEngineTest.java
index 840c5db..194a8d7 100644
--- a/job/src/test/java/org/apache/kylin/job/BuildIIWithEngineTest.java
+++ b/job/src/test/java/org/apache/kylin/job/BuildIIWithEngineTest.java
@@ -94,7 +94,7 @@ public class BuildIIWithEngineTest {
     public static void beforeClass() throws Exception {
         logger.info("Adding to classpath: " + new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath());
         ClassUtil.addClasspath(new File(HBaseMetadataTestCase.SANDBOX_TEST_DATA).getAbsolutePath());
-        System.setProperty("hdp.version", "2.2.0.0-2041"); // mapred-site.xml ref this
+        System.setProperty("hdp.version", "2.2.4.2-2"); // mapred-site.xml ref this
     }
 
     @Before

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java b/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java
index e3d0b09..2a09b07 100644
--- a/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java
+++ b/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java
@@ -43,7 +43,7 @@ public class DebugTomcat {
         // test_case_data/sandbox/ contains HDP 2.2 site xmls which is dev sandbox
         ClasspathUtil.addClasspath(new File("../examples/test_case_data/sandbox").getAbsolutePath());
         System.setProperty(KylinConfig.KYLIN_CONF, "../examples/test_case_data/sandbox");
-        System.setProperty("hdp.version", "2.2.0.0-2041"); // mapred-site.xml ref this
+        System.setProperty("hdp.version", "2.2.4.2-2"); // mapred-site.xml ref this
 
         // workaround for job submission from win to linux -- https://issues.apache.org/jira/browse/MAPREDUCE-4052
         if (Shell.WINDOWS) {


[12/49] incubator-kylin git commit: update website structure and content

Posted by lu...@apache.org.
update website structure and content

Signed-off-by: Luke Han <lu...@apache.org>


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

Branch: refs/heads/0.7.1
Commit: d1b8e50f064ee214f41a3e628abb018a9a9dd6e6
Parents: 69dda1d
Author: Luwei Chen <ch...@hotmail.com>
Authored: Wed May 27 18:18:28 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Wed May 27 18:51:02 2015 +0800

----------------------------------------------------------------------
 docs/website/_includes/navside.html             |   92 +
 docs/website/_layouts/docs.html                 |   48 +
 .../2014-12-31-Build-Cube-with-Restful-API.md   |   57 +
 .../API/2015-03-18-Restful-Service-Doc.md       | 2042 ++++++++++++++++++
 ...05-18-FAQ-on-Kylin-Installation-and-Usage.md |   46 +
 .../2014-10-23-Kylin-web-front-end-summary.md   |   47 +
 .../How to/2014-10-24-How-to-Contribute.md      |   52 +
 ...w to install kylin in your Hadoop cluster.md |   54 +
 .../2014-12-09-New-meta-data-model-structure.md |   31 +
 ...n-Kylin-test-case-with-HBase-Mini-Cluster.md |   23 +
 ...w-to-consume-Kylin-REST-API-in-javascript.md |   49 +
 .../How to/2015-03-05-Kylin-Metadata-Store.md   |   47 +
 ...03-18-How-to-use-kylin-remote-jdbc-driver.md |   93 +
 .../2015-05-18-Export-Kylin-HBase-data.md       |   25 +
 ...On-Hadoop-Kylin-installation-using-Docker.md |   44 +
 ...-22-Advance-settings-of-Kylin-environment.md |   37 +
 ...015-01-22-Kylin-Manual-Installation-Guide.md |   62 +
 ...f-Hadoop-CLI-Installation-(Dev-Env-Setup).md |   96 +
 .../2015-03-13-On-Hadoop-CLI-installation.md    |  149 ++
 .../2014-11-05-Kylin-Cube-Creation-Tutorial.md  |  127 ++
 .../2014-11-05-Kylin-ODBC-Driver-Tutorial.md    |   34 +
 ...in-Cube-Build-and-Job-Monitoring-Tutorial.md |   65 +
 ...1-11-Kylin-Cube-Permission-Grant-Tutorial.md |   32 +
 .../Tutorial/2015-04-17-Kylin-Web-Tutorial.md   |  138 ++
 .../2015-04-17-Kylin-and-Tableau-Tutorial.md    |  113 +
 docs/website/_posts/Tutorial/2015-05-25-test~   |   28 +
 .../blog/2015-01-25-introduce-data-model.md     |   40 +
 docs/website/assets/css/docs.css                |  106 +
 docs/website/assets/css/pygments.css            |   61 +
 docs/website/blog/index.html                    |   64 +
 docs/website/blog/index.html~                   |   64 +
 docs/website/blog/index.md~                     |   43 +
 docs/website/community/index.html               |   83 +
 docs/website/community/index.html~              |   83 +
 docs/website/docs/index.html                    |  108 +
 docs/website/docs/index.html~                   |  109 +
 docs/website/docs/installation-content.html     |   34 +
 docs/website/docs/installation-content.html~    |   34 +
 docs/website/docs/intro-content.html            |   72 +
 docs/website/docs/intro-content.html~           |   72 +
 .../1 action-build.png                          |  Bin 0 -> 93893 bytes
 .../2 pop-up.png                                |  Bin 0 -> 40055 bytes
 .../3 end-date.png                              |  Bin 0 -> 66610 bytes
 .../4 submit.png                                |  Bin 0 -> 36292 bytes
 .../4.1 success.png                             |  Bin 0 -> 14426 bytes
 .../5 jobs-page.png                             |  Bin 0 -> 96398 bytes
 .../6 discard.png                               |  Bin 0 -> 55747 bytes
 .../7 job-steps.png                             |  Bin 0 -> 157315 bytes
 .../8 hover-step.png                            |  Bin 0 -> 90405 bytes
 .../9 log-d.png                                 |  Bin 0 -> 85634 bytes
 .../9 log.png                                   |  Bin 0 -> 42840 bytes
 .../9 mrjob-d.png                               |  Bin 0 -> 197651 bytes
 .../9 mrjob.png                                 |  Bin 0 -> 43079 bytes
 .../9 parameters-d.png                          |  Bin 0 -> 102501 bytes
 .../9 parameters.png                            |  Bin 0 -> 43674 bytes
 .../1 manage-prject.png                         |  Bin 0 -> 44662 bytes
 .../Kylin-Cube-Creation-Tutorial/10 filter.png  |  Bin 0 -> 71620 bytes
 .../11 refresh-setting1.png                     |  Bin 0 -> 125565 bytes
 .../11 refresh-setting2.png                     |  Bin 0 -> 94895 bytes
 .../12 advanced.png                             |  Bin 0 -> 63237 bytes
 .../13 overview.png                             |  Bin 0 -> 59024 bytes
 .../Kylin-Cube-Creation-Tutorial/2 +project.png |  Bin 0 -> 57637 bytes
 .../3 new-project.png                           |  Bin 0 -> 35511 bytes
 .../3.1 pj-created.png                          |  Bin 0 -> 13207 bytes
 .../Kylin-Cube-Creation-Tutorial/4 +table.png   |  Bin 0 -> 58675 bytes
 .../5 hive-table.png                            |  Bin 0 -> 29548 bytes
 .../Kylin-Cube-Creation-Tutorial/6 +cube.png    |  Bin 0 -> 79558 bytes
 .../7 cube-info.png                             |  Bin 0 -> 159724 bytes
 .../Kylin-Cube-Creation-Tutorial/8 dim-+dim.png |  Bin 0 -> 56207 bytes
 .../Kylin-Cube-Creation-Tutorial/8 dim-edit.png |  Bin 0 -> 95337 bytes
 .../8 dim-factable.png                          |  Bin 0 -> 68022 bytes
 .../8 dim-typeA.png                             |  Bin 0 -> 61561 bytes
 .../8 dim-typeB-1.png                           |  Bin 0 -> 54939 bytes
 .../8 dim-typeB-2.png                           |  Bin 0 -> 50999 bytes
 .../8 dim-typeC.png                             |  Bin 0 -> 62033 bytes
 .../8 dim-typeD.png                             |  Bin 0 -> 54444 bytes
 .../9 meas-+meas.png                            |  Bin 0 -> 49541 bytes
 .../9 meas-count.png                            |  Bin 0 -> 49857 bytes
 .../9 meas-distinct.png                         |  Bin 0 -> 57420 bytes
 .../Kylin-Cube-Creation-Tutorial/9 meas-max.png |  Bin 0 -> 51820 bytes
 .../Kylin-Cube-Creation-Tutorial/9 meas-min.png |  Bin 0 -> 47379 bytes
 .../Kylin-Cube-Creation-Tutorial/9 meas-sum.png |  Bin 0 -> 44017 bytes
 .../14 +grant.png                               |  Bin 0 -> 96078 bytes
 .../15 grantInfo.png                            |  Bin 0 -> 131013 bytes
 .../16 grant-user.png                           |  Bin 0 -> 70868 bytes
 .../16 user-update.png                          |  Bin 0 -> 74230 bytes
 .../images/Kylin-Web-Tutorial/1 login.png       |  Bin 0 -> 19030 bytes
 .../Kylin-Web-Tutorial/10 query-result.png      |  Bin 0 -> 229099 bytes
 .../Kylin-Web-Tutorial/11 save-query-2.png      |  Bin 0 -> 217907 bytes
 .../images/Kylin-Web-Tutorial/11 save-query.png |  Bin 0 -> 29373 bytes
 .../images/Kylin-Web-Tutorial/12 general.png    |  Bin 0 -> 32194 bytes
 .../images/Kylin-Web-Tutorial/13 results.png    |  Bin 0 -> 77124 bytes
 .../images/Kylin-Web-Tutorial/14 drag.png       |  Bin 0 -> 81057 bytes
 .../images/Kylin-Web-Tutorial/15 bar-chart.png  |  Bin 0 -> 79660 bytes
 .../images/Kylin-Web-Tutorial/16 pie-chart.png  |  Bin 0 -> 91917 bytes
 .../images/Kylin-Web-Tutorial/17 line-chart.png |  Bin 0 -> 83227 bytes
 .../images/Kylin-Web-Tutorial/2 tables.png      |  Bin 0 -> 131629 bytes
 .../images/Kylin-Web-Tutorial/3 cubes.png       |  Bin 0 -> 106631 bytes
 .../images/Kylin-Web-Tutorial/4 form-view.png   |  Bin 0 -> 106172 bytes
 .../images/Kylin-Web-Tutorial/5 sql-view.png    |  Bin 0 -> 111612 bytes
 .../Kylin-Web-Tutorial/6 visualization.png      |  Bin 0 -> 73256 bytes
 .../images/Kylin-Web-Tutorial/7 access.png      |  Bin 0 -> 63248 bytes
 .../images/Kylin-Web-Tutorial/7 job-steps.png   |  Bin 0 -> 157315 bytes
 .../images/Kylin-Web-Tutorial/8 query.png       |  Bin 0 -> 86323 bytes
 .../images/Kylin-Web-Tutorial/9 query-table.png |  Bin 0 -> 106686 bytes
 .../Kylin-and-Tableau-Tutorial/1 odbc.png       |  Bin 0 -> 77143 bytes
 .../10 connectLive.jpg                          |  Bin 0 -> 36887 bytes
 .../Kylin-and-Tableau-Tutorial/11 analysis.jpg  |  Bin 0 -> 109334 bytes
 .../12 edit tables.jpg                          |  Bin 0 -> 87229 bytes
 .../Kylin-and-Tableau-Tutorial/13 visual.jpg    |  Bin 0 -> 170415 bytes
 .../Kylin-and-Tableau-Tutorial/14 publish.jpg   |  Bin 0 -> 93989 bytes
 .../16 prepare-publish.png                      |  Bin 0 -> 19791 bytes
 .../17 embedded-pwd.png                         |  Bin 0 -> 12464 bytes
 .../18 groupby-folder.jpg                       |  Bin 0 -> 112470 bytes
 .../Kylin-and-Tableau-Tutorial/19 custom.jpg    |  Bin 0 -> 57976 bytes
 .../Kylin-and-Tableau-Tutorial/2 serverhost.jpg |  Bin 0 -> 50146 bytes
 .../Kylin-and-Tableau-Tutorial/3 project.jpg    |  Bin 0 -> 50594 bytes
 .../Kylin-and-Tableau-Tutorial/4 done.jpg       |  Bin 0 -> 48155 bytes
 .../5 multipleTable.jpg                         |  Bin 0 -> 65831 bytes
 .../Kylin-and-Tableau-Tutorial/6 facttable.jpg  |  Bin 0 -> 58203 bytes
 .../Kylin-and-Tableau-Tutorial/6 facttable2.jpg |  Bin 0 -> 58269 bytes
 .../Kylin-and-Tableau-Tutorial/7 lkptable.jpg   |  Bin 0 -> 61669 bytes
 .../Kylin-and-Tableau-Tutorial/8 join.jpg       |  Bin 0 -> 67952 bytes
 .../Kylin-and-Tableau-Tutorial/9 connName.jpg   |  Bin 0 -> 82397 bytes
 .../On-Hadoop-CLI-installation/Picture1.png     |  Bin 0 -> 53722 bytes
 .../On-Hadoop-CLI-installation/Picture2.png     |  Bin 0 -> 72567 bytes
 .../images/On-Hadoop-CLI-installation/cube.png  |  Bin 0 -> 151306 bytes
 .../installation.pptx                           |  Bin 0 -> 83098 bytes
 .../images/On-Hadoop-CLI-installation/job.png   |  Bin 0 -> 226745 bytes
 .../images/On-Hadoop-CLI-installation/query.png |  Bin 0 -> 112305 bytes
 .../On-Hadoop-CLI-installation/starthbase.png   |  Bin 0 -> 210066 bytes
 131 files changed, 4604 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_includes/navside.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/navside.html b/docs/website/_includes/navside.html
new file mode 100755
index 0000000..058659a
--- /dev/null
+++ b/docs/website/_includes/navside.html
@@ -0,0 +1,92 @@
+<!--
+* 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.
+-->
+
+<div class="col-md-3 col-lg-3 col-xs-4 aside1 visible-md visible-lg">
+	<ul class="nav nav-pills nav-stacked">
+	{% for category in site.categories %}     <!-- categories -->
+   {% if category[0]  == 'installation' %}
+		<li><a href="#{{ category | first }}" data-toggle="collapse" >Installation</a></li>
+		<div class="collapse in" id="{{ category[0] }}">
+			<div class="list-group">
+				<ul style="list-style-type:disc">
+			{% for post in category[1] %}
+				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+			{% endfor %}
+				<ul>
+			</div>
+		</div>
+   {% endif %}
+	{% endfor %}
+	{% for category in site.categories %} 
+   {% if category[0]  == 'tutorial' %}
+		<li><a href="#{{ category | first }}" data-toggle="collapse" >Tutorial</a></li>
+		<div class="collapse in" id="{{ category[0] }}">
+			<div class="list-group">
+				<ul style="list-style-type:disc">
+			{% for post in category[1] %}
+				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+			{% endfor %}
+				<ul>
+			</div>
+		</div>
+   {% endif %}
+	{% for category in site.categories %} 
+	{% endfor %}
+   {% if category[0]  == 'howto' %}
+		<li><a href="#{{ category | first }}" data-toggle="collapse" >How to</a></li>
+		<div class="collapse in" id="{{ category[0] }}">
+			<div class="list-group">
+				<ul style="list-style-type:disc">
+			{% for post in category[1] %}
+				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+			{% endfor %}
+				<ul>
+			</div>
+		</div>
+   {% endif %}
+	{% endfor %}
+	{% for category in site.categories %} 
+   {% if category[0]  == 'api' %}
+		<li><a href="#{{ category | first }}" data-toggle="collapse" >API</a></li>
+		<div class="collapse in" id="{{ category[0] }}">
+			<div class="list-group">
+				<ul style="list-style-type:disc">
+			{% for post in category[1] %}
+				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+			{% endfor %}
+				<ul>
+			</div>
+		</div>
+   {% endif %}
+	{% endfor %}
+	{% for category in site.categories %} 
+   {% if category[0]  == 'faq' %}
+		<li><a href="#{{ category | first }}" data-toggle="collapse" >FAQ</a></li>
+		<div class="collapse in" id="{{ category[0] }}">
+			<div class="list-group">
+				<ul style="list-style-type:disc">
+			{% for post in category[1] %}
+				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+			{% endfor %}
+				<ul>
+			</div>
+		</div>
+   {% endif %}
+	{% endfor %}
+	</ul>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_layouts/docs.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/docs.html b/docs/website/_layouts/docs.html
new file mode 100755
index 0000000..d5b00d9
--- /dev/null
+++ b/docs/website/_layouts/docs.html
@@ -0,0 +1,48 @@
+<!--
+* 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.
+-->
+
+<!doctype html>
+<html>
+	{% include head.html %}
+	<body>
+		{% include header.html %}
+		<div class="page-content">
+			<header style=" padding:2em 0 0 0">
+			<div class="container" >
+				<h4 class="section-title"><span>Kylin Docs</span></h4>
+			</div>
+		</div>
+		<div class="container">
+			<div class="row">
+				{% include navside.html %}
+				<div class="col-md-9 col-lg-9 col-xs-14 aside2">
+					<div id="container">
+						<div id="pjax">
+							{{ content }}
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>		
+		{% include footer.html %}
+
+	<script src="/assets/js/jquery-1.9.1.min.js"></script> 
+	<script src="/assets/js/bootstrap.min.js"></script> 
+	<script src="/assets/js/main.js"></script>
+	</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md b/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md
new file mode 100644
index 0000000..6e7e34f
--- /dev/null
+++ b/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md
@@ -0,0 +1,57 @@
+---
+layout: post
+title:  "Build Cube with Restful API"
+date:   2014-12-31
+author: liyang-gmt8
+categories: api
+---
+
+### 1.	Authentication
+*   Currently, Kylin uses [basic authentication](http://en.wikipedia.org/wiki/Basic_access_authentication).
+*   Add `Authorization` header to first request for authentication
+*   Or you can do a specific request by `POST http://localhost:7070/kylin/api/user/authentication`
+*   Once authenticated, client can go subsequent requests with cookies.
+*   Example
+{% highlight Groff markup %}
+    POST http://localhost:7070/kylin/api/user/authentication
+    
+    Authorization:Basic xxxxJD124xxxGFxxxSDF
+    Content-Type: application/json;charset=UTF-8
+{% endhighlight %}
+
+### 2.	Get details of cube. 
+*   `GET http://localhost:7070/kylin/api/cubes?cubeName={cube_name}&limit=15&offset=0`
+*   Client can find cube segment date ranges in returned cube detail.
+*   Example
+{% highlight Groff markup %}
+    GET http://localhost:7070/kylin/api/cubes?cubeName=test_kylin_cube_with_slr&limit=15&offset=0
+
+    Authorization:Basic xxxxJD124xxxGFxxxSDF
+    Content-Type: application/json;charset=UTF-8
+{% endhighlight %}
+### 3.	Then submit a build job of the cube. 
+*   `PUT http://localhost:7070/kylin/api/cubes/{cube_name}/rebuild`
+*   For put request body detail please refer to [service doc](https://github.com/KylinOLAP/Kylin/wiki/Restful-Service-Doc). 
+    *   `startTime` and `endTime` should be utc timestamp.
+    *   `buildType` can be `BUILD` or `MERGE`. `BUILD` is for building a new segment or refreshing an existing segment. `MERGE` is for merging multiple existing segments into one bigger segment.
+*   This method will return a newly created job instance, in which the uuid is the identity of job to track job status.
+*   Example
+{% highlight Groff markup %}
+    PUT http://localhost:7070/kylin/api/cubes/test_kylin_cube_with_slr/rebuild
+
+    Authorization:Basic xxxxJD124xxxGFxxxSDF
+    Content-Type: application/json;charset=UTF-8
+    
+    {
+    	"startTime": 0,
+    	"endTime": 1388563200000,
+    	"buildType": "BUILD"
+    }
+{% endhighlight %}
+
+### 4.	Track job status. 
+*   `GET http://localhost:7070/kylin/api/jobs/{job_uuid}`
+*   Returned `job_status` represents current status of job.
+
+### 5.	If the job failed, you can resume the job. 
+*   `PUT http://localhost:7070/kylin/api/jobs/{job_uuid}/resume`


[29/49] incubator-kylin git commit: KYLIN-669 hard rollback to generate v0.7.1 rc2

Posted by lu...@apache.org.
KYLIN-669 hard rollback to generate v0.7.1 rc2


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

Branch: refs/heads/0.7.1
Commit: 47b9627baf1f7b45084302105ed229d80525e0a4
Parents: 525cea2
Author: Luke Han <lu...@apache.org>
Authored: Tue May 26 16:54:42 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:40 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   | 2 +-
 common/pom.xml        | 2 +-
 cube/pom.xml          | 2 +-
 dictionary/pom.xml    | 2 +-
 invertedindex/pom.xml | 2 +-
 jdbc/pom.xml          | 2 +-
 job/pom.xml           | 2 +-
 metadata/pom.xml      | 2 +-
 pom.xml               | 2 +-
 query/pom.xml         | 2 +-
 server/pom.xml        | 2 +-
 storage/pom.xml       | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index 8986f0c..cf06b15 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index faed39d..e8cf42b 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 07f9a58..0fdd708 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 075fab1..524a52f 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index 8e89ee4..dcf961b 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 7f707c7..24feef9 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.2-incubating-SNAPSHOT</version>
+		<version>0.7.1-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index 44a0f5f..d3c0b55 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e842673..e10777a 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8c0b6e6..404ce4a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.2-incubating-SNAPSHOT</version>
+    <version>0.7.1-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 3881b4d..030482b 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 1578c62..c99ed94 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/47b9627b/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 0d5918a..177e731 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>


[18/49] incubator-kylin git commit: Update Website content

Posted by lu...@apache.org.
Update Website content


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

Branch: refs/heads/0.7.1
Commit: 328cc69ffbb7850abb7a67a94df4c9ad31a8a0c6
Parents: 8049baf
Author: Luke Han <lu...@apache.org>
Authored: Fri May 29 10:26:42 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Fri May 29 10:26:42 2015 +0800

----------------------------------------------------------------------
 .../_posts/How to/2014-10-24-How-to-Contribute.md      | 13 +++++++++++--
 .../_posts/blog/2015-01-25-introduce-data-model.md     |  2 +-
 2 files changed, 12 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/328cc69f/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md b/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md
index 7662884..2644712 100644
--- a/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md	
+++ b/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md	
@@ -23,12 +23,21 @@ title:  "How to Contribute"
 * Discuss and revise if necessary
 * Finally committer merge code into main branch
 
-#### How to Verify a Release
-* Download source code package from release 
+
+#### How to Release 
+
+__Get Ready for Release__
+
+__Generate Release Package__
+
+*  
 * 
 
+__Vote in Mailing List__
 
+__How to Verify a Release__
 
+__Perform a Release__
 
 #### Wish List
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/328cc69f/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/blog/2015-01-25-introduce-data-model.md b/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
index 2016207..d5491b9 100644
--- a/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
+++ b/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
@@ -29,7 +29,7 @@ Now (after v0.6.4), to create a cube will follow below steps:
 
 
 ### What's Next
-After this refactor, Kylin is now be able to introduce more powerful features, the major idea is to using different storages to serve same data model:
+After this refactor, Kylin is now be able to introduce more powerful features, the major idea is to using different storage to serve same data model:
 
 * __Logical Model__: A Data Model presents logical data structure like Star Schema beyond data tables with more business meaning
 * __Physical Model__: define how the underlying data to be stored in persistent system, like HBase. There are already two of them: MOLAP (current Kylin version) and InvertedIndex (coming with 0.7.x release). And it also easy to extend to support others without change the Logical Model.


[44/49] incubator-kylin git commit: KYLIN-699 update server and webapp settings for rc2

Posted by lu...@apache.org.
KYLIN-699 update server and webapp settings for rc2


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

Branch: refs/heads/0.7.1
Commit: a17f99b66bb98ba59dddb9706fd192e4e00b421c
Parents: ae0486e
Author: Luke Han <lu...@apache.org>
Authored: Tue May 26 19:44:06 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 webapp/bower.json   |  4 ++--
 webapp/package.json | 10 +++++-----
 2 files changed, 7 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a17f99b6/webapp/bower.json
----------------------------------------------------------------------
diff --git a/webapp/bower.json b/webapp/bower.json
index be8eca3..65c23b8 100755
--- a/webapp/bower.json
+++ b/webapp/bower.json
@@ -1,6 +1,6 @@
 {
-  "name": "base",
-  "version": "0.0.1",
+  "name": "ApacheKylinWebApp",
+  "version": "0.7.1",
   "dependencies": {
     "angular-bootstrap": "0.10.0",
     "angular": "1.2.15",

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a17f99b6/webapp/package.json
----------------------------------------------------------------------
diff --git a/webapp/package.json b/webapp/package.json
index a588a75..36d9c8b 100644
--- a/webapp/package.json
+++ b/webapp/package.json
@@ -1,11 +1,11 @@
 {
-    "name": "base",
-    "version": "0.0.1",
-    "description": "Client Base Applicaion",
-    "author": "DataHub",
+    "name": "ApacheKylinWebApp",
+    "version": "0.7.1",
+    "description": "Apache Kylin Web Application",
+    "author": "ApacheKylin",
     "repository": {
         "type:": "git",
-        "url": "https://github.com/KylinOLAP/Kylin.git"
+        "url": "https://github.com/apache/incubator-kylin.git"
     },
     "devDependencies": {
         "grunt": "~0.4.x",


[17/49] incubator-kylin git commit: Update Website structure

Posted by lu...@apache.org.
Update Website structure


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

Branch: refs/heads/0.7.1
Commit: 8049bafc8063533f2881b0d6d28f062ddb88c85a
Parents: f418cdf
Author: Luke Han <lu...@apache.org>
Authored: Thu May 28 20:59:43 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Thu May 28 21:00:47 2015 +0800

----------------------------------------------------------------------
 docs/website/_includes/navside.html             | 164 +++++++++++--------
 .../2014-12-31-Build-Cube-with-Restful-API.md   |   2 -
 .../API/2015-03-18-Restful-Service-Doc.md       |   2 -
 .../2014-10-23-Kylin-web-front-end-summary.md   |  45 +++++
 .../2014-12-09-New-meta-data-model-structure.md |  29 ++++
 ...n-Kylin-test-case-with-HBase-Mini-Cluster.md |  21 +++
 .../2015-03-05-Kylin-Metadata-Store.md          |  45 +++++
 ...05-18-FAQ-on-Kylin-Installation-and-Usage.md |  46 ------
 .../_posts/Getting Started/2015-05-18-FAQ.md    |  44 +++++
 .../Getting Started/2015-05-28-Terminology.md   |   6 +
 .../What-should-I-use-Kylin-for.md              |  55 +++++++
 .../2014-10-23-Kylin-web-front-end-summary.md   |  47 ------
 .../How to/2014-10-24-How-to-Contribute.md      |   9 +-
 ...w to install kylin in your Hadoop cluster.md |   2 -
 .../2014-12-09-New-meta-data-model-structure.md |  31 ----
 ...n-Kylin-test-case-with-HBase-Mini-Cluster.md |  23 ---
 ...w-to-consume-Kylin-REST-API-in-javascript.md |   2 -
 .../How to/2015-03-05-Kylin-Metadata-Store.md   |  47 ------
 ...03-18-How-to-use-kylin-remote-jdbc-driver.md |   2 -
 .../2015-05-18-Export-Kylin-HBase-data.md       |   2 -
 ...On-Hadoop-Kylin-installation-using-Docker.md |   2 -
 ...-22-Advance-settings-of-Kylin-environment.md |   2 -
 ...015-01-22-Kylin-Manual-Installation-Guide.md |   2 -
 ...f-Hadoop-CLI-Installation-(Dev-Env-Setup).md |   2 -
 .../2015-03-13-On-Hadoop-CLI-installation.md    |   2 -
 .../2014-11-05-Kylin-Cube-Creation-Tutorial.md  |   2 -
 .../2014-11-05-Kylin-ODBC-Driver-Tutorial.md    |   2 -
 ...in-Cube-Build-and-Job-Monitoring-Tutorial.md |   2 -
 ...1-11-Kylin-Cube-Permission-Grant-Tutorial.md |   2 -
 .../Tutorial/2015-04-17-Kylin-Web-Tutorial.md   |   2 -
 .../2015-04-17-Kylin-and-Tableau-Tutorial.md    |   2 -
 docs/website/assets/js/main.js                  |   2 +-
 docs/website/docs/index.html                    | 108 ------------
 docs/website/docs/index.md                      |  90 ++++++++++
 docs/website/docs/installation-content.html     |  34 ----
 docs/website/docs/intro-content.html            |  72 --------
 webapp/Gruntfile.js                             |   4 +-
 37 files changed, 436 insertions(+), 520 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_includes/navside.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/navside.html b/docs/website/_includes/navside.html
index 058659a..b395b7a 100755
--- a/docs/website/_includes/navside.html
+++ b/docs/website/_includes/navside.html
@@ -17,76 +17,96 @@
 -->
 
 <div class="col-md-3 col-lg-3 col-xs-4 aside1 visible-md visible-lg">
-	<ul class="nav nav-pills nav-stacked">
-	{% for category in site.categories %}     <!-- categories -->
-   {% if category[0]  == 'installation' %}
-		<li><a href="#{{ category | first }}" data-toggle="collapse" >Installation</a></li>
-		<div class="collapse in" id="{{ category[0] }}">
-			<div class="list-group">
-				<ul style="list-style-type:disc">
-			{% for post in category[1] %}
-				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
-			{% endfor %}
-				<ul>
-			</div>
-		</div>
-   {% endif %}
-	{% endfor %}
-	{% for category in site.categories %} 
-   {% if category[0]  == 'tutorial' %}
-		<li><a href="#{{ category | first }}" data-toggle="collapse" >Tutorial</a></li>
-		<div class="collapse in" id="{{ category[0] }}">
-			<div class="list-group">
-				<ul style="list-style-type:disc">
-			{% for post in category[1] %}
-				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
-			{% endfor %}
-				<ul>
-			</div>
-		</div>
-   {% endif %}
-	{% for category in site.categories %} 
-	{% endfor %}
-   {% if category[0]  == 'howto' %}
-		<li><a href="#{{ category | first }}" data-toggle="collapse" >How to</a></li>
-		<div class="collapse in" id="{{ category[0] }}">
-			<div class="list-group">
-				<ul style="list-style-type:disc">
-			{% for post in category[1] %}
-				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
-			{% endfor %}
-				<ul>
-			</div>
-		</div>
-   {% endif %}
-	{% endfor %}
-	{% for category in site.categories %} 
-   {% if category[0]  == 'api' %}
-		<li><a href="#{{ category | first }}" data-toggle="collapse" >API</a></li>
-		<div class="collapse in" id="{{ category[0] }}">
-			<div class="list-group">
-				<ul style="list-style-type:disc">
-			{% for post in category[1] %}
-				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
-			{% endfor %}
-				<ul>
-			</div>
-		</div>
-   {% endif %}
-	{% endfor %}
-	{% for category in site.categories %} 
-   {% if category[0]  == 'faq' %}
-		<li><a href="#{{ category | first }}" data-toggle="collapse" >FAQ</a></li>
-		<div class="collapse in" id="{{ category[0] }}">
-			<div class="list-group">
-				<ul style="list-style-type:disc">
-			{% for post in category[1] %}
-				<li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
-			{% endfor %}
-				<ul>
-			</div>
-		</div>
-   {% endif %}
-	{% endfor %}
-	</ul>
+    <ul class="nav nav-pills nav-stacked">
+        {% for category in site.categories %}     <!-- categories -->
+        {% if category[0] == 'gettingstarted' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse">Getting Started</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+        {% for category in site.categories %}
+        {% if category[0] == 'installation' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse">Installation</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+        {% for category in site.categories %}
+        {% if category[0] == 'tutorial' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse">Tutorial</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+        {% for category in site.categories %}
+        {% if category[0] == 'development' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse">Development</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+        {% for category in site.categories %}
+        {% if category[0] == 'howto' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse">How to</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+
+        {% for category in site.categories %}
+        {% if category[0] == 'api' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse">API</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+    </ul>
 </div>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md b/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md
index 6e7e34f..594f3aa 100644
--- a/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md
+++ b/docs/website/_posts/API/2014-12-31-Build-Cube-with-Restful-API.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Build Cube with Restful API"
-date:   2014-12-31
-author: liyang-gmt8
 categories: api
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md b/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md
index b636e64..4a1a6fe 100644
--- a/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md
+++ b/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Restful Service Doc"
-date:   2015-03-18
-author: SHAOFENG SHI
 categories: api
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Development/2014-10-23-Kylin-web-front-end-summary.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Development/2014-10-23-Kylin-web-front-end-summary.md b/docs/website/_posts/Development/2014-10-23-Kylin-web-front-end-summary.md
new file mode 100644
index 0000000..4736408
--- /dev/null
+++ b/docs/website/_posts/Development/2014-10-23-Kylin-web-front-end-summary.md
@@ -0,0 +1,45 @@
+---
+layout: post
+title:  "Kylin web front end summary"
+categories: development
+---
+
+### Project Dependencies
+* npm: used in development phase to install grunt and bower
+* grunt: build and set up kylin web
+* bower: manage kylin tech dependencies
+
+### Tech Dependencies
+* Angular JS: fundamental support of kylin web
+* ACE: sql and json editor
+* D3 JS: draw report chart and cube graph
+* Bootstrap: css lib
+
+### Supported Use Cases:
+
+###### Kylin web supports needs of various of roles in BI workflow. 
+
+* Analyst: Run query and checkout results
+* Modeler: cube design, cube/job operation and monitor
+* Admin: system operation.
+
+### Tech Overview 
+Kylin web is a one-page application build on top of restful services. Kylin web uses tools from nodejs to manage project and use AngularJS to enable one-page web app. Kylin web uses popular techs from js opensource community making it easy to catch up and contribute. 
+
+### Highlights:
+* Query utility functions:
+    * SQL auto-suggestions on table and column name
+    * Query remote/local save.
+    * Data grid supporting million level data with easy BI operations
+    * Data export
+    * Simple data visualization(line, bar, pie)
+* Cube management:
+    * Well-designed cube creation flow
+    * Visualization of cube relational structure.
+    * Well-designed cube access management
+* Job management:
+    * Job steps and log monitor
+    * Kill
+    * Resume
+* Useful admin tools.
+* Refined look&feel.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Development/2014-12-09-New-meta-data-model-structure.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Development/2014-12-09-New-meta-data-model-structure.md b/docs/website/_posts/Development/2014-12-09-New-meta-data-model-structure.md
new file mode 100644
index 0000000..96a6b50
--- /dev/null
+++ b/docs/website/_posts/Development/2014-12-09-New-meta-data-model-structure.md
@@ -0,0 +1,29 @@
+---
+layout: post
+title:  "New meta data model structure"
+categories: development
+---
+
+Kylin is doing a round code refactor which will introduce the following two changes on meta data:
+
+* Abstract a "model_desc" layer from "cube_desc"
+
+Before define a cube, user will need firstly define a model ("model_desc"); The model defines which is the fact table, which are lookup tables and how they be joined;
+
+With the model be defined, when user define a cube ("cube_desc"), he/she only need to specify the table/column name for a dimension, as the join conditions have already been defined;
+
+This abstraction is to extend the meta data to fulfill non-cube queries (coming soon);
+
+* Support data tables from multiple hive databases;
+
+User has the case that tables are from multiple hive database, and the table name might be the same; To support this case Kylin will use the database name + table name as the unique name for tables; And user need to specify the database name (if it is not "default") in SQL when query Kylin. 
+
+Here is a sample; the fact table "test_kylin_fact" is from default hive database, you don't need to specify the db name; while lookup table is from "edw", you need use "edw.test_cal_dt" in the query:
+
+{% highlight Groff markup %}
+select test_cal_dt.Week_Beg_Dt, sum(price) as c1, count(1) as c2 
+ from test_kylin_fact
+ inner JOIN edw.test_cal_dt as test_cal_dt
+ ON test_kylin_fact.cal_dt = test_cal_dt.cal_dt 
+ where test_kylin_fact.lstg_format_name='ABIN' 
+{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Development/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Development/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md b/docs/website/_posts/Development/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md
new file mode 100644
index 0000000..745388d
--- /dev/null
+++ b/docs/website/_posts/Development/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md
@@ -0,0 +1,21 @@
+---
+layout: post
+title:  "Run Kylin test case with HBase Mini Cluster"
+categories: development
+---
+
+## Run test case with HBase Mini Cluster
+
+Kylin is moving as many as possible unit test cases from sandbox to HBase mini cluster, so that user can run tests easily in local without a hadoop sandbox; Two maven profiles are created in the root pom.xml, "default" and "sandbox"; The default profile will startup a HBase Mini Cluster to prepare the test data and run the unit tests (the test cases that are not supported by Mini cluster have been added in the "exclude" list); If you want to keep using Sandbox to run test, just run:
+mvn test -P sandbox
+
+
+### When use the "default" profile, Kylin will:
+
+* 	Startup a HBase minicluster and update KylinConfig with the dynamic HBase configurations;
+* 	Create Kylin metadata tables and import six example cube tables;
+* 	Import the hbase data from a tar ball from local: examples/test_case_data/minicluster/hbase-export.tar.gz (the hbase-export.tar.gz will be updated on complete of running BuildCubeWithEngineTest)
+* 	After all test cases be completed, shutdown minicluster and cleanup KylinConfig cache;
+
+### To ensure Mini cluster can run successfully, you need:
+* 	Make sure JAVA_HOME is properly set; 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Development/2015-03-05-Kylin-Metadata-Store.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Development/2015-03-05-Kylin-Metadata-Store.md b/docs/website/_posts/Development/2015-03-05-Kylin-Metadata-Store.md
new file mode 100644
index 0000000..7aa8cc5
--- /dev/null
+++ b/docs/website/_posts/Development/2015-03-05-Kylin-Metadata-Store.md
@@ -0,0 +1,45 @@
+---
+layout: post
+title:  "Kylin Metadata Store"
+categories: development
+---
+
+Kylin organizes all of its metadata(including cube descriptions and instances, projects, inverted index description and instances, jobs, tables and dictionaries) as a hierarchy file system. However, Kylin uses hbase to store it, rather than normal file system. If you check your kylin configuration file(kylin.properties) you will find such a line:
+
+{% highlight Groff markup %}
+# The metadata store in hbase
+kylin.metadata.url=kylin_metadata_qa@hbase:sandbox.hortonworks.com:2181:/hbase-unsecure
+{% endhighlight %}
+
+
+This indicates that the metadata will be saved as a htable called `kylin_metadata_qa`. You can scan the htable in hbase shell to check it out.
+
+# Backup Metadata Store
+
+Sometimes you need to backup the Kylin's Metadata Store from hbase to your disk file system.
+In such cases, assuming you're on the hadoop CLI(or sandbox) where you deployed Kylin, you can use:
+
+{% highlight Groff markup %}
+mkdir ~/meta_dump
+
+hbase  org.apache.hadoop.util.RunJar  PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  copy PATH_TO_KYLIN_CONFIG/kylin.properties ~/meta_dump
+{% endhighlight %}
+
+to dump your metadata to your local folder ~/meta_dump.
+
+# Restore Metadata Store
+
+In case you find your metadata store messed up, and you want to restore to a previous backup:
+
+first clean up the metadata store:
+
+{% highlight Groff markup %}
+hbase  org.apache.hadoop.util.RunJar PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  reset 
+{% endhighlight %}
+
+then upload the backup metadata in ~/meta_dump to Kylin's metadata store:
+
+{% highlight Groff markup %}
+hbase  org.apache.hadoop.util.RunJar  PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  copy ~/meta_dump PATH_TO_KYLIN_CONFIG/kylin.properties
+{% endhighlight %}
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/FAQ/2015-05-18-FAQ-on-Kylin-Installation-and-Usage.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/FAQ/2015-05-18-FAQ-on-Kylin-Installation-and-Usage.md b/docs/website/_posts/FAQ/2015-05-18-FAQ-on-Kylin-Installation-and-Usage.md
deleted file mode 100644
index 511f8e6..0000000
--- a/docs/website/_posts/FAQ/2015-05-18-FAQ-on-Kylin-Installation-and-Usage.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-layout: post
-title:  "FAQ on Kylin Installation and Usage"
-date:   2015-05-18
-author: liyang-gmt8
-categories: faq
----
-
-#### Some NPM error causes ERROR exit (中国大陆地区用户请特别注意此问题)?
-Check out [https://github.com/KylinOLAP/Kylin/issues/35](https://github.com/KylinOLAP/Kylin/issues/35)
-
-#### Can't get master address from ZooKeeper" when installing Kylin on Hortonworks Sandbox
-Check out [https://github.com/KylinOLAP/Kylin/issues/9](https://github.com/KylinOLAP/Kylin/issues/9).
-
-#### Install scripted finished in my virtual machine, but cannot visit via http://localhost:9080
-Check out [https://github.com/KylinOLAP/Kylin/issues/12](https://github.com/KylinOLAP/Kylin/issues/12).
-
-#### Map Reduce Job information can't display on sandbox deployment
-Check out [https://github.com/KylinOLAP/Kylin/issues/40](https://github.com/KylinOLAP/Kylin/issues/40)
-
-#### Install Kylin on CDH 5.2 or Hadoop 2.5.x
-Check out discussion: [https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kylin-olap/X0GZfsX1jLc/nzs6xAhNpLkJ](https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kylin-olap/X0GZfsX1jLc/nzs6xAhNpLkJ)
-{% highlight Groff markup %}
-I was able to deploy Kylin with following option in POM.
-<hadoop2.version>2.5.0</hadoop2.version>
-<yarn.version>2.5.0</yarn.version>
-<hbase-hadoop2.version>0.98.6-hadoop2</hbase-hadoop2.version>
-<zookeeper.version>3.4.5</zookeeper.version>
-<hive.version>0.13.1</hive.version>
-My Cluster is running on Cloudera Distribution CDH 5.2.0.
-{% endhighlight %}
-
-#### Unable to load a big cube as HTable, with java.lang.OutOfMemoryError: unable to create new native thread
-HBase (as of writing) allocates one thread per region when bulk loading a HTable. Try reduce the number of regions of your cube by setting its "capacity" to "MEDIUM" or "LARGE". Also tweaks OS & JVM can allow more threads, for example see [this article](http://blog.egilh.com/2006/06/2811aspx.html).
-
-#### Failed to run BuildCubeWithEngineTest, saying failed to connect to hbase while hbase is active
-User may get this error when first time run hbase client, please check the error trace to see whether there is an error saying couldn't access a folder like "/hadoop/hbase/local/jars"; If that folder doesn't exist, create it.
-
-#### SUM(field) returns a negtive result while all the numbers in this field are > 0
-If a column is declared as integer in Hive, the SQL engine (calcite) will use column's type (integer) as the data type for "SUM(field)", while the aggregated value on this field may exceed the scope of integer; in that case the cast will cause a negtive value be returned; The workround is, alter that column's type to BIGINT in hive, and then sync the table schema to Kylin (the cube doesn't need rebuild); Keep in mind that, always declare as BIGINT in hive for an integer column which would be used as a measure in Kylin; See hive number types: [https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes)
-
-#### Why Kylin need extract the distinct columns from Fact Table before building cube?
-Kylin uses dictionary to encode the values in each column, this greatly reduce the cube's storage size. To build the dictionary, Kylin need fetch the distinct values for each column.
-
-#### Why Kylin calculate the HIVE table cardinality?
-The cardinality of dimensions is an important measure of cube complexity. The higher the cardinality, the bigger the cube, and thus the longer to build and the slower to query. Cardinality > 1,000 is worth attention and > 1,000,000 should be avoided at best effort. For optimal cube performance, try reduce high cardinality by categorize values or derive features.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Getting Started/2015-05-18-FAQ.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Getting Started/2015-05-18-FAQ.md b/docs/website/_posts/Getting Started/2015-05-18-FAQ.md
new file mode 100644
index 0000000..fa3d080
--- /dev/null
+++ b/docs/website/_posts/Getting Started/2015-05-18-FAQ.md	
@@ -0,0 +1,44 @@
+---
+layout: post
+title:  "FAQ"
+categories: gettingstarted
+---
+
+#### Some NPM error causes ERROR exit (中国大陆地区用户请特别注意此问题)?
+Check out [https://github.com/KylinOLAP/Kylin/issues/35](https://github.com/KylinOLAP/Kylin/issues/35)
+
+#### Can't get master address from ZooKeeper" when installing Kylin on Hortonworks Sandbox
+Check out [https://github.com/KylinOLAP/Kylin/issues/9](https://github.com/KylinOLAP/Kylin/issues/9).
+
+#### Install scripted finished in my virtual machine, but cannot visit via http://localhost:9080
+Check out [https://github.com/KylinOLAP/Kylin/issues/12](https://github.com/KylinOLAP/Kylin/issues/12).
+
+#### Map Reduce Job information can't display on sandbox deployment
+Check out [https://github.com/KylinOLAP/Kylin/issues/40](https://github.com/KylinOLAP/Kylin/issues/40)
+
+#### Install Kylin on CDH 5.2 or Hadoop 2.5.x
+Check out discussion: [https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kylin-olap/X0GZfsX1jLc/nzs6xAhNpLkJ](https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kylin-olap/X0GZfsX1jLc/nzs6xAhNpLkJ)
+{% highlight Groff markup %}
+I was able to deploy Kylin with following option in POM.
+<hadoop2.version>2.5.0</hadoop2.version>
+<yarn.version>2.5.0</yarn.version>
+<hbase-hadoop2.version>0.98.6-hadoop2</hbase-hadoop2.version>
+<zookeeper.version>3.4.5</zookeeper.version>
+<hive.version>0.13.1</hive.version>
+My Cluster is running on Cloudera Distribution CDH 5.2.0.
+{% endhighlight %}
+
+#### Unable to load a big cube as HTable, with java.lang.OutOfMemoryError: unable to create new native thread
+HBase (as of writing) allocates one thread per region when bulk loading a HTable. Try reduce the number of regions of your cube by setting its "capacity" to "MEDIUM" or "LARGE". Also tweaks OS & JVM can allow more threads, for example see [this article](http://blog.egilh.com/2006/06/2811aspx.html).
+
+#### Failed to run BuildCubeWithEngineTest, saying failed to connect to hbase while hbase is active
+User may get this error when first time run hbase client, please check the error trace to see whether there is an error saying couldn't access a folder like "/hadoop/hbase/local/jars"; If that folder doesn't exist, create it.
+
+#### SUM(field) returns a negtive result while all the numbers in this field are > 0
+If a column is declared as integer in Hive, the SQL engine (calcite) will use column's type (integer) as the data type for "SUM(field)", while the aggregated value on this field may exceed the scope of integer; in that case the cast will cause a negtive value be returned; The workround is, alter that column's type to BIGINT in hive, and then sync the table schema to Kylin (the cube doesn't need rebuild); Keep in mind that, always declare as BIGINT in hive for an integer column which would be used as a measure in Kylin; See hive number types: [https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes)
+
+#### Why Kylin need extract the distinct columns from Fact Table before building cube?
+Kylin uses dictionary to encode the values in each column, this greatly reduce the cube's storage size. To build the dictionary, Kylin need fetch the distinct values for each column.
+
+#### Why Kylin calculate the HIVE table cardinality?
+The cardinality of dimensions is an important measure of cube complexity. The higher the cardinality, the bigger the cube, and thus the longer to build and the slower to query. Cardinality > 1,000 is worth attention and > 1,000,000 should be avoided at best effort. For optimal cube performance, try reduce high cardinality by categorize values or derive features.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Getting Started/2015-05-28-Terminology.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Getting Started/2015-05-28-Terminology.md b/docs/website/_posts/Getting Started/2015-05-28-Terminology.md
new file mode 100644
index 0000000..838c920
--- /dev/null
+++ b/docs/website/_posts/Getting Started/2015-05-28-Terminology.md	
@@ -0,0 +1,6 @@
+---
+layout: post
+title:  "Terminology"
+categories: gettingstarted
+---
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Getting Started/What-should-I-use-Kylin-for.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Getting Started/What-should-I-use-Kylin-for.md b/docs/website/_posts/Getting Started/What-should-I-use-Kylin-for.md
new file mode 100644
index 0000000..4edc872
--- /dev/null
+++ b/docs/website/_posts/Getting Started/What-should-I-use-Kylin-for.md	
@@ -0,0 +1,55 @@
+---
+layout: post
+title: "What Should I use Kylin for?"
+categories: gettingstarted
+---
+
+<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
+<p class="content-p">
+If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
+</p>
+
+<hr/>
+ 
+<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
+<p class="content-p">
+The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
+</p>
+<hr/>
+ 
+<p class="content-header">What is MOLAP/ROLAP?</p>
+<p class="content-p">
+MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
+ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
+</p>
+<hr/>
+
+<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
+<p class="content-p">
+Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
+If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
+If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
+Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
+</p>
+<hr/>
+<p class="content-header">What does a Kylin query look like?</p>
+<p class="content-p">
+Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
+<div align="left">
+
+<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
+</div>
+<hr/>
+
+<p class="content-header">What Hadoop components does it work with?</p>
+<p class="content-p">
+Kylin depends on HDFS, MapReduce, Hive and HBase.
+Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
+HDFS is used to store intermediated files during cube building.
+HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
+</p>
+<hr/>
+
+<p class="content-header">Where can I find the technical details about Kylin?</p>
+<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin OLAP</a></p>
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2014-10-23-Kylin-web-front-end-summary.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-10-23-Kylin-web-front-end-summary.md b/docs/website/_posts/How to/2014-10-23-Kylin-web-front-end-summary.md
deleted file mode 100644
index 7d3cb77..0000000
--- a/docs/website/_posts/How to/2014-10-23-Kylin-web-front-end-summary.md	
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: post
-title:  "Kylin web front end summary"
-date:   2014-10-23
-author: xduo
-categories: howto
----
-
-### Project Dependencies
-* npm: used in development phase to install grunt and bower
-* grunt: build and set up kylin web
-* bower: manage kylin tech dependencies
-
-### Tech Dependencies
-* Angular JS: fundamental support of kylin web
-* ACE: sql and json editor
-* D3 JS: draw report chart and cube graph
-* Bootstrap: css lib
-
-### Supported Use Cases:
-
-###### Kylin web supports needs of various of roles in BI workflow. 
-
-* Analyst: Run query and checkout results
-* Modeler: cube design, cube/job operation and monitor
-* Admin: system operation.
-
-### Tech Overview 
-Kylin web is a one-page application build on top of restful services. Kylin web uses tools from nodejs to manage project and use AngularJS to enable one-page web app. Kylin web uses popular techs from js opensource community making it easy to catch up and contribute. 
-
-### Highlights:
-* Query utility functions:
-    * SQL auto-suggestions on table and column name
-    * Query remote/local save.
-    * Data grid supporting million level data with easy BI operations
-    * Data export
-    * Simple data visualization(line, bar, pie)
-* Cube management:
-    * Well-designed cube creation flow
-    * Visualization of cube relational structure.
-    * Well-designed cube access management
-* Job management:
-    * Job steps and log monitor
-    * Kill
-    * Resume
-* Useful admin tools.
-* Refined look&feel.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md b/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md
index 047f822..7662884 100644
--- a/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md	
+++ b/docs/website/_posts/How to/2014-10-24-How-to-Contribute.md	
@@ -1,9 +1,6 @@
 ---
 layout: post
 title:  "How to Contribute"
-date:   2014-10-24
-author: liyang-gmt8
-categories: howto
 ---
 
 #### Setup Dev Env
@@ -26,6 +23,12 @@ categories: howto
 * Discuss and revise if necessary
 * Finally committer merge code into main branch
 
+#### How to Verify a Release
+* Download source code package from release 
+* 
+
+
+
 
 #### Wish List
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md b/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md
index 30ef3a3..b97aa4b 100644
--- a/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md	
+++ b/docs/website/_posts/How to/2014-11-14-How to install kylin in your Hadoop cluster.md	
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "How to install kylin in your Hadoop cluster"
-date:   2014-11-14
-author: xfhap
 categories: howto
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2014-12-09-New-meta-data-model-structure.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-12-09-New-meta-data-model-structure.md b/docs/website/_posts/How to/2014-12-09-New-meta-data-model-structure.md
deleted file mode 100644
index 8dc0e86..0000000
--- a/docs/website/_posts/How to/2014-12-09-New-meta-data-model-structure.md	
+++ /dev/null
@@ -1,31 +0,0 @@
----
-layout: post
-title:  "New meta data model structure"
-date:   2014-12-09
-author: shaofengshi
-categories: howto
----
-
-Kylin is doing a round code refactor which will introduce the following two changes on meta data:
-
-* Abstract a "model_desc" layer from "cube_desc"
-
-Before define a cube, user will need firstly define a model ("model_desc"); The model defines which is the fact table, which are lookup tables and how they be joined;
-
-With the model be defined, when user define a cube ("cube_desc"), he/she only need to specify the table/column name for a dimension, as the join conditions have already been defined;
-
-This abstraction is to extend the meta data to fulfill non-cube queries (coming soon);
-
-* Support data tables from multiple hive databases;
-
-User has the case that tables are from multiple hive database, and the table name might be the same; To support this case Kylin will use the database name + table name as the unique name for tables; And user need to specify the database name (if it is not "default") in SQL when query Kylin. 
-
-Here is a sample; the fact table "test_kylin_fact" is from default hive database, you don't need to specify the db name; while lookup table is from "edw", you need use "edw.test_cal_dt" in the query:
-
-{% highlight Groff markup %}
-select test_cal_dt.Week_Beg_Dt, sum(price) as c1, count(1) as c2 
- from test_kylin_fact
- inner JOIN edw.test_cal_dt as test_cal_dt
- ON test_kylin_fact.cal_dt = test_cal_dt.cal_dt 
- where test_kylin_fact.lstg_format_name='ABIN' 
-{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md b/docs/website/_posts/How to/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md
deleted file mode 100644
index 33ad1b7..0000000
--- a/docs/website/_posts/How to/2015-01-04-Run-Kylin-test-case-with-HBase-Mini-Cluster.md	
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: post
-title:  "Run Kylin test case with HBase Mini Cluster"
-date:   2015-01-04
-author: shaofengshi
-categories: howto
----
-
-## Run test case with HBase Mini Cluster
-
-Kylin is moving as many as possible unit test cases from sandbox to HBase mini cluster, so that user can run tests easily in local without a hadoop sandbox; Two maven profiles are created in the root pom.xml, "default" and "sandbox"; The default profile will startup a HBase Mini Cluster to prepare the test data and run the unit tests (the test cases that are not supported by Mini cluster have been added in the "exclude" list); If you want to keep using Sandbox to run test, just run:
-mvn test -P sandbox
-
-
-### When use the "default" profile, Kylin will:
-
-* 	Startup a HBase minicluster and update KylinConfig with the dynamic HBase configurations;
-* 	Create Kylin metadata tables and import six example cube tables;
-* 	Import the hbase data from a tar ball from local: examples/test_case_data/minicluster/hbase-export.tar.gz (the hbase-export.tar.gz will be updated on complete of running BuildCubeWithEngineTest)
-* 	After all test cases be completed, shutdown minicluster and cleanup KylinConfig cache;
-
-### To ensure Mini cluster can run successfully, you need:
-* 	Make sure JAVA_HOME is properly set; 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md b/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md
index 1598945..d24941a 100644
--- a/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md	
+++ b/docs/website/_posts/How to/2015-03-03-How-to-consume-Kylin-REST-API-in-javascript.md	
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "How to consume Kylin REST API in javascript"
-date:   2015-03-03
-author: liyang-gmt8
 categories: howto
 ---
 Kypin securicty authorization is based on basic access authorization, so when you want to use API in your javascript,you need to involve the authorization info in http headers.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2015-03-05-Kylin-Metadata-Store.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-03-05-Kylin-Metadata-Store.md b/docs/website/_posts/How to/2015-03-05-Kylin-Metadata-Store.md
deleted file mode 100644
index 98525b0..0000000
--- a/docs/website/_posts/How to/2015-03-05-Kylin-Metadata-Store.md	
+++ /dev/null
@@ -1,47 +0,0 @@
----
-layout: post
-title:  "Kylin Metadata Store"
-date:   2015-03-05
-author: hongbin ma
-categories: howto
----
-
-Kylin organizes all of its metadata(including cube descriptions and instances, projects, inverted index description and instances, jobs, tables and dictionaries) as a hierarchy file system. However, Kylin uses hbase to store it, rather than normal file system. If you check your kylin configuration file(kylin.properties) you will find such a line:
-
-{% highlight Groff markup %}
-# The metadata store in hbase
-kylin.metadata.url=kylin_metadata_qa@hbase:sandbox.hortonworks.com:2181:/hbase-unsecure
-{% endhighlight %}
-
-
-This indicates that the metadata will be saved as a htable called `kylin_metadata_qa`. You can scan the htable in hbase shell to check it out.
-
-# Backup Metadata Store
-
-Sometimes you need to backup the Kylin's Metadata Store from hbase to your disk file system.
-In such cases, assuming you're on the hadoop CLI(or sandbox) where you deployed Kylin, you can use:
-
-{% highlight Groff markup %}
-mkdir ~/meta_dump
-
-hbase  org.apache.hadoop.util.RunJar  PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  copy PATH_TO_KYLIN_CONFIG/kylin.properties ~/meta_dump
-{% endhighlight %}
-
-to dump your metadata to your local folder ~/meta_dump.
-
-# Restore Metadata Store
-
-In case you find your metadata store messed up, and you want to restore to a previous backup:
-
-first clean up the metadata store:
-
-{% highlight Groff markup %}
-hbase  org.apache.hadoop.util.RunJar PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  reset 
-{% endhighlight %}
-
-then upload the backup metadata in ~/meta_dump to Kylin's metadata store:
-
-{% highlight Groff markup %}
-hbase  org.apache.hadoop.util.RunJar  PATH_TO_KYLIN_JOB_JAR_FOLDER/kylin-job-x.x.x-SNAPSHOT-job.jar com.kylinolap.common.persistence.ResourceTool  copy ~/meta_dump PATH_TO_KYLIN_CONFIG/kylin.properties
-{% endhighlight %}
-

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md b/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md
index e58ff10..a5478d4 100644
--- a/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md	
+++ b/docs/website/_posts/How to/2015-03-18-How-to-use-kylin-remote-jdbc-driver.md	
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "How to use kylin remote jdbc driver"
-date:   2015-03-18
-author: SHAOFENG SHI
 categories: howto
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md b/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md
index 9237035..2d0c235 100644
--- a/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md	
+++ b/docs/website/_posts/How to/2015-05-18-Export-Kylin-HBase-data.md	
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Export Kylin HBase data"
-date:   2015-05-18
-author: SHAOFENG SHI
 categories: howto
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md b/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md
index 726c11f..79e1680 100644
--- a/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md
+++ b/docs/website/_posts/Installation/2014-12-05-On-Hadoop-Kylin-installation-using-Docker.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "On Hadoop Kylin installation using Docker"
-date:   2014-12-05
-author: abansal
 categories: installation
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md b/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md
index 0338b13..1729f42 100644
--- a/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md
+++ b/docs/website/_posts/Installation/2015-01-22-Advance-settings-of-Kylin-environment.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Advance settings of Kylin environment"
-date:   2015-01-22
-author: hongbin ma
 categories: installation
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md b/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md
index ae41465..b13b87c 100644
--- a/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md
+++ b/docs/website/_posts/Installation/2015-01-22-Kylin-Manual-Installation-Guide.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Kylin Manual Installation Guide"
-date:   2015-01-22
-author: hongbin ma
 categories: installation
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md b/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md
index 236c353..911432d 100644
--- a/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md
+++ b/docs/website/_posts/Installation/2015-02-15-Off-Hadoop-CLI-Installation-(Dev-Env-Setup).md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Off Hadoop CLI Installation (Dev Env Setup)"
-date:   2015-02-15
-author: SHAOFENG SHI
 categories: installation
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md b/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md
index 710301f..af4919f 100644
--- a/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md
+++ b/docs/website/_posts/Installation/2015-03-13-On-Hadoop-CLI-installation.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "On Hadoop CLI installation"
-date:   2015-03-13
-author: Luke Han
 categories: installation
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md b/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md
index da56a26..1b3a632 100644
--- a/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md
+++ b/docs/website/_posts/Tutorial/2014-11-05-Kylin-Cube-Creation-Tutorial.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Kylin Cube Creation Tutorial"
-date:   2014-11-15
-author: Kejia-Wang
 categories: tutorial
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md b/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md
index cb88e4d..45b7c49 100644
--- a/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md
+++ b/docs/website/_posts/Tutorial/2014-11-05-Kylin-ODBC-Driver-Tutorial.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Kylin ODBC Driver Tutorial"
-date:   2014-11-05
-author: lukehan
 categories: tutorial
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md b/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md
index aab389c..74aa996 100644
--- a/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md
+++ b/docs/website/_posts/Tutorial/2014-11-06-Kylin-Cube-Build-and-Job-Monitoring-Tutorial.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Kylin Cube Build and Job Monitoring Tutorial"
-date:   2014-11-06
-author: Kejia-Wang
 categories: tutorial
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md b/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md
index 78cbdcd..95afb5e 100644
--- a/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md
+++ b/docs/website/_posts/Tutorial/2014-11-11-Kylin-Cube-Permission-Grant-Tutorial.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Kylin Cube Permission Grant Tutorial"
-date:   2014-11-11
-author: Kejia-Wang
 categories: tutorial
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md b/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md
index b63715e..e112317 100644
--- a/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md
+++ b/docs/website/_posts/Tutorial/2015-04-17-Kylin-Web-Tutorial.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Kylin Web Tutorial"
-date:   2015-04-17
-author: Luwei
 categories: tutorial
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md b/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md
index 6dbbd99..481fa42 100644
--- a/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md
+++ b/docs/website/_posts/Tutorial/2015-04-17-Kylin-and-Tableau-Tutorial.md
@@ -1,8 +1,6 @@
 ---
 layout: post
 title:  "Kylin and Tableau Tutorial"
-date:   2015-04-17
-author: Luwei
 categories: tutorial
 ---
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/assets/js/main.js
----------------------------------------------------------------------
diff --git a/docs/website/assets/js/main.js b/docs/website/assets/js/main.js
index 13de766..747ca2c 100644
--- a/docs/website/assets/js/main.js
+++ b/docs/website/assets/js/main.js
@@ -42,7 +42,7 @@ jQuery(document).ready(function ($) {
 	
 	
 	//document page 
-	$( "#content-container" ).load("docs/intro-content.html");
+	$( "#content-container" ).load("docs/What-should-I-use-Kylin-for.md");
 	$( "#left-menu li" ).eq(0).css("background-color", "#efefef");
 
     $( "#left-menu li" ).click(function(){

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/docs/index.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.html b/docs/website/docs/index.html
deleted file mode 100644
index 095d16a..0000000
--- a/docs/website/docs/index.html
+++ /dev/null
@@ -1,108 +0,0 @@
----
-layout: docs
-title: Docs
----
-
-<!--
-* 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.
--->
-  
-<main id="main" >
-  <div class="container" >
-    <div id="zero" class=" main" >
-      <header style=" padding:2em 0 4em 0">
-        <div class="container" >
-
-         
-     <div id="content-container" class="animated fadeIn">
-       
-
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
-<p class="content-p">
-If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
-</p>
-
-<hr/>
- 
-<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
-<p class="content-p">
-The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
-</p>
-<hr/>
- 
-<p class="content-header">What is MOLAP/ROLAP?</p>
-<p class="content-p">
-MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
-ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
-</p>
-<hr/>
-
-<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
-<p class="content-p">
-Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
-If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
-If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
-Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
-</p>
-<hr/>
-<p class="content-header">What does a Kylin query look like?</p>
-<p class="content-p">
-Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
-<div align="left">
-
-<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
-</div>
-<hr/>
-
-<p class="content-header">What Hadoop components does it work with?</p>
-<p class="content-p">
-Kylin depends on HDFS, MapReduce, Hive and HBase.
-Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
-HDFS is used to store intermediated files during cube building.
-HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
-</p>
-<hr/>
-
-<!-- Migrate wiki to here 
-<p class="content-header">Where can I find the technical details about Kylin?</p>
-<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin Wiki</a></p>
-
--->
-
-     </div>
-         
-         </div><!--end of rightcontent-->
-         
-         </div><!--end of row-->
-        </div>
-        <!-- /container --> 
-        
-        
-        
-      </header>
-    </div>
-    <!-- / section --> 
-  </div>
-  <!-- /container -->
- 
-
-  
-
-      
-    </header>
-  </section>
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/docs/index.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.md b/docs/website/docs/index.md
new file mode 100644
index 0000000..d55a9ef
--- /dev/null
+++ b/docs/website/docs/index.md
@@ -0,0 +1,90 @@
+---
+layout: docs
+title: Docs
+---
+
+<main id="main" >
+  <div class="container" >
+    <div id="zero" class=" main" >
+      <header style=" padding:2em 0 4em 0">
+        <div class="container" >
+
+         
+     <div id="content-container" class="animated fadeIn">
+       
+
+<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
+<p class="content-p">
+If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
+</p>
+
+<hr/>
+ 
+<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
+<p class="content-p">
+The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
+</p>
+<hr/>
+ 
+<p class="content-header">What is MOLAP/ROLAP?</p>
+<p class="content-p">
+MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
+ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
+</p>
+<hr/>
+
+<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
+<p class="content-p">
+Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
+If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
+If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
+Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
+</p>
+<hr/>
+<p class="content-header">What does a Kylin query look like?</p>
+<p class="content-p">
+Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
+<div align="left">
+
+<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
+</div>
+<hr/>
+
+<p class="content-header">What Hadoop components does it work with?</p>
+<p class="content-p">
+Kylin depends on HDFS, MapReduce, Hive and HBase.
+Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
+HDFS is used to store intermediated files during cube building.
+HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
+</p>
+<hr/>
+
+<!-- Migrate wiki to here 
+<p class="content-header">Where can I find the technical details about Kylin?</p>
+<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin Wiki</a></p>
+
+-->
+
+     </div>
+         
+         </div><!--end of rightcontent-->
+         
+         </div><!--end of row-->
+        </div>
+        <!-- /container --> 
+        
+        
+        
+      </header>
+    </div>
+    <!-- / section --> 
+  </div>
+  <!-- /container -->
+ 
+
+  
+
+      
+    </header>
+  </section>
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/docs/installation-content.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/installation-content.html b/docs/website/docs/installation-content.html
deleted file mode 100644
index 536f64d..0000000
--- a/docs/website/docs/installation-content.html
+++ /dev/null
@@ -1,34 +0,0 @@
----
-layout: default
-title: Docs
----
-
-<!--
-* 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.
--->
-
-<p class="content-header" style="margin-top:0.25em">On Hadoop CLI installation</p>
-<p class="content-p">
-On-Hadoop-CLI installation is for demo use, or for those who want to host their own web site to provide Kylin service: <br/>
-<a href="https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation">On Hadoop CLI installation Wiki</a>
-</p>
-<br/>
-<p class="content-header" style="margin-top:0.25em">Off Hadoop CLI Installation</p>
-<p class="content-p">Off-Hadoop-CLI installation is usually for devlopment use, when developpers want to run kylin test cases or applications at their development machine: 
-<br/><a href="https://github.com/KylinOLAP/Kylin/wiki/Off-Hadoop-CLI-Installation">Off Hadoop CLI Installation Wiki</a>
-</p>
-

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/docs/website/docs/intro-content.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/intro-content.html b/docs/website/docs/intro-content.html
deleted file mode 100644
index 34d759f..0000000
--- a/docs/website/docs/intro-content.html
+++ /dev/null
@@ -1,72 +0,0 @@
----
-layout: default
-title: Docs
----
-
-<!--
-* 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.
--->
-
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
-<p class="content-p">
-If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
-</p>
-
-<hr/>
- 
-<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
-<p class="content-p">
-The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
-</p>
-<hr/>
- 
-<p class="content-header">What is MOLAP/ROLAP?</p>
-<p class="content-p">
-MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
-ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
-</p>
-<hr/>
-
-<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
-<p class="content-p">
-Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
-If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
-If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
-Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
-</p>
-<hr/>
-<p class="content-header">What does a Kylin query look like?</p>
-<p class="content-p">
-Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
-<div align="left">
-
-<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
-</div>
-<hr/>
-
-<p class="content-header">What Hadoop components does it work with?</p>
-<p class="content-p">
-Kylin depends on HDFS, MapReduce, Hive and HBase.
-Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
-HDFS is used to store intermediated files during cube building.
-HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
-</p>
-<hr/>
-
-<p class="content-header">Where can I find the technical details about Kylin?</p>
-<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin OLAP</a></p>
-

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/8049bafc/webapp/Gruntfile.js
----------------------------------------------------------------------
diff --git a/webapp/Gruntfile.js b/webapp/Gruntfile.js
index 64dc859..972616c 100644
--- a/webapp/Gruntfile.js
+++ b/webapp/Gruntfile.js
@@ -144,7 +144,7 @@ module.exports = function (grunt) {
         },
         htmlrefs: {
             dist: {
-                src: 'tmp/index.html',
+                src: 'tmp/index.md',
                 dest: 'tmp/'
             },
             options: {
@@ -194,7 +194,7 @@ module.exports = function (grunt) {
                 ]
             },
             manifest: {
-                src: ['tmp/index.html'],
+                src: ['tmp/index.md'],
                 actions: [
                     {
                         name: 'manifest',


[22/49] incubator-kylin git commit: KYLIN-753 Fix the match pattern to exclude hbase-common-tests jar.

Posted by lu...@apache.org.
KYLIN-753 Fix the match pattern to exclude hbase-common-tests jar.

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

Branch: refs/heads/0.7.1
Commit: eecf1d1631a6bcca2e9f9377419983092aaecaf6
Parents: 582e941
Author: shaofengshi <sh...@apache.org>
Authored: Mon Jun 1 17:12:54 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Mon Jun 1 17:12:54 2015 +0800

----------------------------------------------------------------------
 bin/find-hbase-dependency.sh | 2 +-
 bin/find-hive-dependency.sh  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/eecf1d16/bin/find-hbase-dependency.sh
----------------------------------------------------------------------
diff --git a/bin/find-hbase-dependency.sh b/bin/find-hbase-dependency.sh
index daa3db3..39fc333 100644
--- a/bin/find-hbase-dependency.sh
+++ b/bin/find-hbase-dependency.sh
@@ -5,7 +5,7 @@ arr=(`echo $hbase_classpath | cut -d ":"  --output-delimiter=" " -f 1-`)
 hbase_common_path=
 for data in ${arr[@]}
 do
-    result=`echo $data | grep -e 'hbase-common[0-9\.-]*jar'`
+    result=`echo $data | grep -e 'hbase-common[a-z0-9A-Z\.-]*jar' | grep -v tests`
     if [ $result ]
     then
         hbase_common_path=$data

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/eecf1d16/bin/find-hive-dependency.sh
----------------------------------------------------------------------
diff --git a/bin/find-hive-dependency.sh b/bin/find-hive-dependency.sh
index 0348c9c..817697f 100644
--- a/bin/find-hive-dependency.sh
+++ b/bin/find-hive-dependency.sh
@@ -25,7 +25,7 @@ hive_conf_path=
 hive_exec_path=
 for data in ${arr[@]}
 do
-    result=`echo $data | grep -e 'hive-exec[0-9\.-]*jar'`
+    result=`echo $data | grep -e 'hive-exec[a-z0-9A-Z\.-]*jar'`
     if [ $result ]
     then
         hive_exec_path=$data


[03/49] incubator-kylin git commit: KYLIN-779 , jump to cube list after create cube

Posted by lu...@apache.org.
KYLIN-779 ,jump to cube list after create cube


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

Branch: refs/heads/0.7.1
Commit: 44a5ccb35528b14b11238a881c281f0aa1a30da2
Parents: c8e5201
Author: jiazhong <ji...@ebay.com>
Authored: Fri May 22 14:24:02 2015 +0800
Committer: jiazhong <ji...@ebay.com>
Committed: Fri May 22 14:24:02 2015 +0800

----------------------------------------------------------------------
 webapp/app/js/controllers/cubeEdit.js | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/44a5ccb3/webapp/app/js/controllers/cubeEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js
index e93ad5c..e371e3f 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -187,10 +187,10 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
           }, function (request) {
             if (request.successful) {
               $scope.state.cubeSchema = request.cubeDescData;
-              MessageService.sendMsg($scope.cubeResultTmpl({
-                'text': 'Updated the cube successfully.',
-                type: 'success'
-              }), 'success', {}, true, 'top_center');
+
+              SweetAlert.swal('', 'Updated the cube successfully.', 'success');
+
+              $location.path("/cubes");
 
               if (design_form) {
                 design_form.$invalid = true;
@@ -233,11 +233,11 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
           }, function (request) {
             if (request.successful) {
               $scope.state.cubeSchema = request.cubeDescData;
+              
+              SweetAlert.swal('', 'Created the cube successfully.', 'success');
+
+              $location.path("/cubes");
 
-              MessageService.sendMsg($scope.cubeResultTmpl({
-                'text': 'Created the cube successfully.',
-                type: 'success'
-              }), 'success', {}, true, 'top_center');
             } else {
               $scope.saveCubeRollBack();
               $scope.cubeMetaFrame.project = $scope.state.project;


[41/49] incubator-kylin git commit: add NOTICE file

Posted by lu...@apache.org.
add NOTICE file


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

Branch: refs/heads/0.7.1
Commit: 044da2d2a1336411b544588173917648c2291699
Parents: 4b4b923
Author: Luke Han <lu...@apache.org>
Authored: Sun May 31 20:51:33 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 NOTICE | 6 ++++++
 1 file changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/044da2d2/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..f18fba3
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,6 @@
+Apache Kylin (incubating)
+Copyright 2014-2015 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+


[34/49] incubator-kylin git commit: manually rollback to 0.7.1 for rc3, add assembly to exclude website

Posted by lu...@apache.org.
manually rollback to 0.7.1 for rc3, add assembly to exclude website


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

Branch: refs/heads/0.7.1
Commit: 4c45b8c3cce085c2f696dc93112d35c96fa3c310
Parents: 770c37d
Author: Luke Han <lu...@apache.org>
Authored: Sun May 31 19:07:00 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 invertedindex/pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/4c45b8c3/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index 8e89ee4..dcf961b 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>


[25/49] incubator-kylin git commit: KYLIN-669, replace eng_com.dic with SCOWL dict file which as a clear license

Posted by lu...@apache.org.
KYLIN-669, replace eng_com.dic with SCOWL dict file which as a clear license


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

Branch: refs/heads/0.7.1
Commit: 04838ce5e6cd235f23519ac6d0e679b018b30cde
Parents: eecf1d1
Author: Li, Yang <ya...@ebay.com>
Authored: Tue Jun 2 18:09:59 2015 +0800
Committer: Li, Yang <ya...@ebay.com>
Committed: Tue Jun 2 18:09:59 2015 +0800

----------------------------------------------------------------------
 LICENSE                                         |     10 +-
 .../apache/kylin/dict/TrieDictionaryTest.java   |      2 +-
 dictionary/src/test/resources/dict/eng_com.dic  | 150843 ----------------
 .../english-words.80 (scowl-2015.05.18).txt     | 139304 ++++++++++++++
 4 files changed, 139314 insertions(+), 150845 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/04838ce5/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index d15d498..1b4eae4 100644
--- a/LICENSE
+++ b/LICENSE
@@ -69,4 +69,12 @@ For AdminLTE:
 ==============================================================================
 This product bundles AdminLTE, which is available under a
 "MIT" license.  For details, see
-https://github.com/almasaeed2010/AdminLTE/blob/master/LICENSE.
\ No newline at end of file
+https://github.com/almasaeed2010/AdminLTE/blob/master/LICENSE.
+
+
+==============================================================================
+For english-words.80 (scowl-2015.05.18).txt:
+==============================================================================
+This product bundles SCOWL, which is available under a
+MIT-like license.  For details, see
+https://raw.githubusercontent.com/kevina/wordlist/master/scowl/Copyright

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/04838ce5/dictionary/src/test/java/org/apache/kylin/dict/TrieDictionaryTest.java
----------------------------------------------------------------------
diff --git a/dictionary/src/test/java/org/apache/kylin/dict/TrieDictionaryTest.java b/dictionary/src/test/java/org/apache/kylin/dict/TrieDictionaryTest.java
index 6a8e19d..4ad89d5 100644
--- a/dictionary/src/test/java/org/apache/kylin/dict/TrieDictionaryTest.java
+++ b/dictionary/src/test/java/org/apache/kylin/dict/TrieDictionaryTest.java
@@ -133,7 +133,7 @@ public class TrieDictionaryTest {
 
     @Test
     public void englishWordsTest() throws Exception {
-        InputStream is = new FileInputStream("src/test/resources/dict/eng_com.dic");
+        InputStream is = new FileInputStream("src/test/resources/dict/english-words.80 (scowl-2015.05.18).txt");
         ArrayList<String> str = loadStrings(is);
         testStringDictionary(str, null);
     }


[46/49] incubator-kylin git commit: exclude website

Posted by lu...@apache.org.
exclude website


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

Branch: refs/heads/0.7.1
Commit: 14cdc12797845442d4f7cbbbcc91afed0e7bacba
Parents: 06136b8
Author: Luke Han <lu...@apache.org>
Authored: Tue Jun 2 17:14:34 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:42 2015 +0800

----------------------------------------------------------------------
 src/main/config/assemblies/source-assembly.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/14cdc127/src/main/config/assemblies/source-assembly.xml
----------------------------------------------------------------------
diff --git a/src/main/config/assemblies/source-assembly.xml b/src/main/config/assemblies/source-assembly.xml
index d9f1501..02cd97b 100644
--- a/src/main/config/assemblies/source-assembly.xml
+++ b/src/main/config/assemblies/source-assembly.xml
@@ -85,7 +85,8 @@ limitations under the License.
                 <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
                 </exclude>
 
-                <exclude>**/website/**</exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?/docs/website(/.*)?]
+                </exclude>
             </excludes>
         </fileSet>
         <!-- LICENSE, NOTICE, DEPENDENCIES, git.properties, etc. calculated at build time -->


[20/49] incubator-kylin git commit: Merge branch '0.7.1-staging' of https://git-wip-us.apache.org/repos/asf/incubator-kylin into 0.7.1-staging

Posted by lu...@apache.org.
Merge branch '0.7.1-staging' of https://git-wip-us.apache.org/repos/asf/incubator-kylin into 0.7.1-staging


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

Branch: refs/heads/0.7.1
Commit: 07abda64ad5d9bcd4cb7e52ccd805364f26184e0
Parents: 7417cf1 328cc69
Author: shaofengshi <sh...@apache.org>
Authored: Fri May 29 12:56:32 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Fri May 29 12:56:32 2015 +0800

----------------------------------------------------------------------
 docs/website/_includes/navside.html             | 164 +++++++++++--------
 .../2014-12-31-Build-Cube-with-Restful-API.md   |   2 -
 .../API/2015-03-18-Restful-Service-Doc.md       |   2 -
 .../2014-10-23-Kylin-web-front-end-summary.md   |  45 +++++
 .../2014-12-09-New-meta-data-model-structure.md |  29 ++++
 ...n-Kylin-test-case-with-HBase-Mini-Cluster.md |  21 +++
 .../2015-03-05-Kylin-Metadata-Store.md          |  45 +++++
 ...05-18-FAQ-on-Kylin-Installation-and-Usage.md |  46 ------
 .../_posts/Getting Started/2015-05-18-FAQ.md    |  44 +++++
 .../Getting Started/2015-05-28-Terminology.md   |   6 +
 .../What-should-I-use-Kylin-for.md              |  55 +++++++
 .../2014-10-23-Kylin-web-front-end-summary.md   |  47 ------
 .../How to/2014-10-24-How-to-Contribute.md      |  18 +-
 ...w to install kylin in your Hadoop cluster.md |   2 -
 .../2014-12-09-New-meta-data-model-structure.md |  31 ----
 ...n-Kylin-test-case-with-HBase-Mini-Cluster.md |  23 ---
 ...w-to-consume-Kylin-REST-API-in-javascript.md |   2 -
 .../How to/2015-03-05-Kylin-Metadata-Store.md   |  47 ------
 ...03-18-How-to-use-kylin-remote-jdbc-driver.md |   2 -
 .../2015-05-18-Export-Kylin-HBase-data.md       |   2 -
 ...On-Hadoop-Kylin-installation-using-Docker.md |   2 -
 ...-22-Advance-settings-of-Kylin-environment.md |   2 -
 ...015-01-22-Kylin-Manual-Installation-Guide.md |   2 -
 ...f-Hadoop-CLI-Installation-(Dev-Env-Setup).md |   2 -
 .../2015-03-13-On-Hadoop-CLI-installation.md    |   2 -
 .../2014-11-05-Kylin-Cube-Creation-Tutorial.md  |   2 -
 .../2014-11-05-Kylin-ODBC-Driver-Tutorial.md    |   2 -
 ...in-Cube-Build-and-Job-Monitoring-Tutorial.md |   2 -
 ...1-11-Kylin-Cube-Permission-Grant-Tutorial.md |   2 -
 .../Tutorial/2015-04-17-Kylin-Web-Tutorial.md   |   2 -
 .../2015-04-17-Kylin-and-Tableau-Tutorial.md    |   2 -
 .../blog/2015-01-25-introduce-data-model.md     |   2 +-
 docs/website/assets/js/main.js                  |   2 +-
 docs/website/docs/index.html                    | 108 ------------
 docs/website/docs/index.md                      |  90 ++++++++++
 docs/website/docs/installation-content.html     |  34 ----
 docs/website/docs/intro-content.html            |  72 --------
 webapp/Gruntfile.js                             |   4 +-
 38 files changed, 446 insertions(+), 521 deletions(-)
----------------------------------------------------------------------



[32/49] incubator-kylin git commit: [maven-release-plugin] prepare for next development iteration

Posted by lu...@apache.org.
[maven-release-plugin] prepare for next development iteration


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

Branch: refs/heads/0.7.1
Commit: 770c37d5fc219d94573d08ffe4cbf82690002f17
Parents: 9309088
Author: Luke Han <lu...@apache.org>
Authored: Tue May 26 19:57:32 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   | 2 +-
 common/pom.xml        | 2 +-
 cube/pom.xml          | 2 +-
 dictionary/pom.xml    | 2 +-
 invertedindex/pom.xml | 2 +-
 jdbc/pom.xml          | 2 +-
 job/pom.xml           | 2 +-
 metadata/pom.xml      | 2 +-
 pom.xml               | 4 ++--
 query/pom.xml         | 2 +-
 server/pom.xml        | 2 +-
 storage/pom.xml       | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index 9417503..8986f0c 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index 310ee93..faed39d 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index d3f6915..07f9a58 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 3d04215..075fab1 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index 10669e7..8e89ee4 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 9c29977..7f707c7 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.1-incubating</version>
+		<version>0.7.2-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index e49c792..44a0f5f 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index 2c7e7ab..e842673 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9ffd26a..8c0b6e6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.1-incubating</version>
+    <version>0.7.2-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -145,7 +145,7 @@
         <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</developerConnection>
         <url>https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</url>
-        <tag>kylin-0.7.1-incubating</tag>
+        <tag>apache-kylin-0.7.1-incubating</tag>
     </scm>
 
     <dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 60b09e1..3881b4d 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 276e384..1578c62 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/770c37d5/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 3b18de0..0d5918a 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>


[38/49] incubator-kylin git commit: Update license file

Posted by lu...@apache.org.
Update license file


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

Branch: refs/heads/0.7.1
Commit: 7258547b1f7a5d9cc117d134e747ef4f36a85f69
Parents: 044da2d
Author: Luke Han <lu...@apache.org>
Authored: Sun May 31 23:13:41 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 LICENSE | 253 +++++++++++++++++++++++++++++++++++++++++++++++------------
 pom.xml |   5 ++
 2 files changed, 206 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7258547b/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 1b4eae4..4bfafaa 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,56 +1,205 @@
-Apache License
 
-Version 2.0, January 2004
-
-http://www.apache.org/licenses/
-
-TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-1. Definitions.
-
-"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
-
-"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
-
-"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
-
-"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
-
-"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
-
-"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
-
-"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
-
-"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
-
-"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
-
-"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
-
-2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
-
-3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
-
-4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
-
-You must give any other recipients of the Work or Derivative Works a copy of this License; and
-You must cause any modified files to carry prominent notices stating that You changed the files; and
-You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
-If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. 
-
-You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
-5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
-
-6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
-
-7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
-
-8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
-
-9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
-
-END OF TERMS AND CONDITIONS
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/7258547b/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a0d1443..6582c35 100644
--- a/pom.xml
+++ b/pom.xml
@@ -700,6 +700,9 @@
                         <configuration>
                             <numUnapprovedLicenses>0</numUnapprovedLicenses>
                             <excludes>
+                                <exclude>.idea/**</exclude>
+                                <exclude>.git/**</exclude>
+                                <exclude>.settings/**</exclude>
                                 <!-- text files without comments -->
                                 <exclude>**/*.csv</exclude>
                                 <exclude>**/*.json</exclude>
@@ -716,7 +719,9 @@
                                 <exclude>lib/**</exclude>
                                 <!-- Kylin's website content -->
                                 <exclude>**/.sass-cache/**</exclude>
+
                                 <exclude>docs/website/**</exclude>
+
                                 <!-- tomcat package -->
                                 <exclude>tomcat/**</exclude>
                                 <!-- front end libary and generated files -->


[40/49] incubator-kylin git commit: manually rollback for rc3, add assembly plugin to exclude website content for release

Posted by lu...@apache.org.
manually rollback for rc3, add assembly plugin to exclude website content for release


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

Branch: refs/heads/0.7.1
Commit: 4b4b9238a832c8a20df2c667322d31bf0a1ae166
Parents: 9792e4f
Author: Luke Han <lu...@apache.org>
Authored: Sun May 31 19:09:20 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 src/main/config/assemblies/source-assembly.xml | 105 ++++++++++++++++++++
 src/main/config/source-assembly.xml            | 105 --------------------
 2 files changed, 105 insertions(+), 105 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/4b4b9238/src/main/config/assemblies/source-assembly.xml
----------------------------------------------------------------------
diff --git a/src/main/config/assemblies/source-assembly.xml b/src/main/config/assemblies/source-assembly.xml
new file mode 100644
index 0000000..d9f1501
--- /dev/null
+++ b/src/main/config/assemblies/source-assembly.xml
@@ -0,0 +1,105 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+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.
+-->
+<assembly>
+    <id>source-release</id>
+    <formats>
+        <format>zip</format>
+        <format>tar.gz</format>
+    </formats>
+    <fileSets>
+        <!-- main project directory structure -->
+        <fileSet>
+            <directory>.</directory>
+            <outputDirectory>/</outputDirectory>
+            <useDefaultExcludes>true</useDefaultExcludes>
+            <excludes>
+                <!-- build output -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${project.build.directory}.*]
+                </exclude>
+
+                <!-- NOTE: Most of the following excludes should not be required
+                  if the standard release process is followed. This is because the release
+                  plugin checks out project sources into a location like target/checkout, then
+                  runs the build from there. The result is a source-release archive that comes
+                  from a pretty clean directory structure. HOWEVER, if the release plugin is
+                  configured to run extra goals or generate a project website, it's definitely
+                  possible that some of these files will be present. So, it's safer to exclude
+                  them. -->
+
+                <!-- IDEs -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.idea(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?out(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]
+                </exclude>
+
+
+                <!-- scm -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore(/.*)?]
+                </exclude>
+
+                <exclude>**/.buildpath</exclude>
+                <exclude>**/sandbox/**</exclude>
+
+                <!-- misc -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]
+                </exclude>
+
+                <!-- release-plugin temp files -->
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
+                </exclude>
+
+                <exclude>**/website/**</exclude>
+            </excludes>
+        </fileSet>
+        <!-- LICENSE, NOTICE, DEPENDENCIES, git.properties, etc. calculated at build time -->
+        <fileSet>
+            <directory>${project.build.directory}/maven-shared-archive-resources/META-INF
+            </directory>
+            <outputDirectory>/</outputDirectory>
+        </fileSet>
+        <fileSet>
+            <directory>${project.build.directory}</directory>
+            <includes>
+                <include>git.properties</include>
+            </includes>
+            <outputDirectory>/</outputDirectory>
+        </fileSet>
+    </fileSets>
+</assembly>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/4b4b9238/src/main/config/source-assembly.xml
----------------------------------------------------------------------
diff --git a/src/main/config/source-assembly.xml b/src/main/config/source-assembly.xml
deleted file mode 100644
index d9f1501..0000000
--- a/src/main/config/source-assembly.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!--
-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.
--->
-<assembly>
-    <id>source-release</id>
-    <formats>
-        <format>zip</format>
-        <format>tar.gz</format>
-    </formats>
-    <fileSets>
-        <!-- main project directory structure -->
-        <fileSet>
-            <directory>.</directory>
-            <outputDirectory>/</outputDirectory>
-            <useDefaultExcludes>true</useDefaultExcludes>
-            <excludes>
-                <!-- build output -->
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${project.build.directory}.*]
-                </exclude>
-
-                <!-- NOTE: Most of the following excludes should not be required
-                  if the standard release process is followed. This is because the release
-                  plugin checks out project sources into a location like target/checkout, then
-                  runs the build from there. The result is a source-release archive that comes
-                  from a pretty clean directory structure. HOWEVER, if the release plugin is
-                  configured to run extra goals or generate a project website, it's definitely
-                  possible that some of these files will be present. So, it's safer to exclude
-                  them. -->
-
-                <!-- IDEs -->
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.idea(/.*)?]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?out(/.*)?]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]
-                </exclude>
-
-
-                <!-- scm -->
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore(/.*)?]
-                </exclude>
-
-                <exclude>**/.buildpath</exclude>
-                <exclude>**/sandbox/**</exclude>
-
-                <!-- misc -->
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]
-                </exclude>
-
-                <!-- release-plugin temp files -->
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]
-                </exclude>
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
-                </exclude>
-
-                <exclude>**/website/**</exclude>
-            </excludes>
-        </fileSet>
-        <!-- LICENSE, NOTICE, DEPENDENCIES, git.properties, etc. calculated at build time -->
-        <fileSet>
-            <directory>${project.build.directory}/maven-shared-archive-resources/META-INF
-            </directory>
-            <outputDirectory>/</outputDirectory>
-        </fileSet>
-        <fileSet>
-            <directory>${project.build.directory}</directory>
-            <includes>
-                <include>git.properties</include>
-            </includes>
-            <outputDirectory>/</outputDirectory>
-        </fileSet>
-    </fileSets>
-</assembly>
\ No newline at end of file


[16/49] incubator-kylin git commit: Update test case sandbox configurations

Posted by lu...@apache.org.
Update test case sandbox configurations

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

Branch: refs/heads/0.7.1
Commit: f418cdff7035f1d0c9bdfc6e59ccb3175b97d07a
Parents: c875bba
Author: shaofengshi <sh...@apache.org>
Authored: Thu May 28 17:29:41 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Thu May 28 17:29:41 2015 +0800

----------------------------------------------------------------------
 .../sandbox/capacity-scheduler.xml              | 11 ++-
 examples/test_case_data/sandbox/core-site.xml   | 72 ++++++++++++++++----
 .../test_case_data/sandbox/hadoop-policy.xml    |  2 +-
 .../test_case_data/sandbox/hbase-policy.xml     |  4 +-
 examples/test_case_data/sandbox/hbase-site.xml  | 15 ++--
 examples/test_case_data/sandbox/hdfs-site.xml   | 43 ++++++++++--
 examples/test_case_data/sandbox/hive-site.xml   | 44 ++++++------
 examples/test_case_data/sandbox/mapred-site.xml | 38 ++++++++---
 examples/test_case_data/sandbox/yarn-site.xml   | 55 ++++++++++++---
 9 files changed, 211 insertions(+), 73 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/capacity-scheduler.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/capacity-scheduler.xml b/examples/test_case_data/sandbox/capacity-scheduler.xml
index 9c97e43..dcd63c1 100644
--- a/examples/test_case_data/sandbox/capacity-scheduler.xml
+++ b/examples/test_case_data/sandbox/capacity-scheduler.xml
@@ -1,4 +1,4 @@
-<!--Mon May 25 01:30:55 2015-->
+<!--Wed May 27 08:09:06 2015-->
 <configuration>
 
     <property>
@@ -8,7 +8,7 @@
 
     <property>
         <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
-        <value>0.2</value>
+        <value>0.5</value>
     </property>
 
     <property>
@@ -53,7 +53,7 @@
 
     <property>
         <name>yarn.scheduler.capacity.root.default-node-label-expression</name>
-        <value> </value>
+        <value></value>
     </property>
 
     <property>
@@ -72,6 +72,11 @@
     </property>
 
     <property>
+        <name>yarn.scheduler.capacity.root.default.maximum-am-resource-percent</name>
+        <value>0.5</value>
+    </property>
+
+    <property>
         <name>yarn.scheduler.capacity.root.default.maximum-capacity</name>
         <value>100</value>
     </property>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/core-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/core-site.xml b/examples/test_case_data/sandbox/core-site.xml
index e2b3fbe..0a80866 100644
--- a/examples/test_case_data/sandbox/core-site.xml
+++ b/examples/test_case_data/sandbox/core-site.xml
@@ -1,4 +1,4 @@
-<!--Mon May 25 01:30:55 2015-->
+<!--Wed May 27 08:08:58 2015-->
 <configuration>
 
     <property>
@@ -13,16 +13,41 @@
     </property>
 
     <property>
+        <name>ha.failover-controller.active-standby-elector.zk.op.retries</name>
+        <value>120</value>
+    </property>
+
+    <property>
         <name>hadoop.http.authentication.simple.anonymous.allowed</name>
         <value>true</value>
     </property>
 
     <property>
-        <name>hadoop.proxyuser.hcat.groups</name>
+        <name>hadoop.proxyuser.falcon.groups</name>
+        <value>users</value>
+    </property>
+
+    <property>
+        <name>hadoop.proxyuser.falcon.hosts</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>hadoop.proxyuser.hbase.groups</name>
         <value>users</value>
     </property>
 
     <property>
+        <name>hadoop.proxyuser.hbase.hosts</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>hadoop.proxyuser.hcat.groups</name>
+        <value>*</value>
+    </property>
+
+    <property>
         <name>hadoop.proxyuser.hcat.hosts</name>
         <value>sandbox.hortonworks.com</value>
     </property>
@@ -34,18 +59,42 @@
 
     <property>
         <name>hadoop.proxyuser.hive.hosts</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>hadoop.proxyuser.hue.groups</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>hadoop.proxyuser.hue.hosts</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>hadoop.proxyuser.oozie.groups</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>hadoop.proxyuser.oozie.hosts</name>
         <value>sandbox.hortonworks.com</value>
     </property>
 
     <property>
+        <name>hadoop.proxyuser.root.groups</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>hadoop.proxyuser.root.hosts</name>
+        <value>*</value>
+    </property>
+
+    <property>
         <name>hadoop.security.auth_to_local</name>
-        <value>
-            RULE:[2:$1@$0]([rn]m@.*)s/.*/yarn/
-            RULE:[2:$1@$0](jhs@.*)s/.*/mapred/
-            RULE:[2:$1@$0]([nd]n@.*)s/.*/hdfs/
-            RULE:[2:$1@$0](hm@.*)s/.*/hbase/
-            RULE:[2:$1@$0](rs@.*)s/.*/hbase/
-            DEFAULT</value>
+        <value>DEFAULT</value>
     </property>
 
     <property>
@@ -98,9 +147,4 @@
         <value>false</value>
     </property>
 
-    <property>
-        <name>proxyuser_group</name>
-        <value>users</value>
-    </property>
-
 </configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/hadoop-policy.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hadoop-policy.xml b/examples/test_case_data/sandbox/hadoop-policy.xml
index 3f08465..4556120 100644
--- a/examples/test_case_data/sandbox/hadoop-policy.xml
+++ b/examples/test_case_data/sandbox/hadoop-policy.xml
@@ -1,4 +1,4 @@
-<!--Mon May 25 01:30:15 2015-->
+<!--Fri Apr 24 12:58:40 2015-->
 <configuration>
 
     <property>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/hbase-policy.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hbase-policy.xml b/examples/test_case_data/sandbox/hbase-policy.xml
index 6549239..ae974bb 100644
--- a/examples/test_case_data/sandbox/hbase-policy.xml
+++ b/examples/test_case_data/sandbox/hbase-policy.xml
@@ -1,4 +1,4 @@
-<!--Mon May 25 01:30:31 2015-->
+<!--Wed May 27 06:14:03 2015-->
 <configuration>
 
     <property>
@@ -16,4 +16,4 @@
         <value>*</value>
     </property>
 
-</configuration>
\ No newline at end of file
+</configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/hbase-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hbase-site.xml b/examples/test_case_data/sandbox/hbase-site.xml
index b63cc90..06755a8 100644
--- a/examples/test_case_data/sandbox/hbase-site.xml
+++ b/examples/test_case_data/sandbox/hbase-site.xml
@@ -1,4 +1,4 @@
-<!--Mon May 25 01:30:31 2015-->
+<!--Wed May 27 06:14:00 2015-->
 <configuration>
 
     <property>
@@ -23,12 +23,12 @@
 
     <property>
         <name>hbase.coprocessor.master.classes</name>
-        <value></value>
+        <value>com.xasecure.authorization.hbase.XaSecureAuthorizationCoprocessor</value>
     </property>
 
     <property>
         <name>hbase.coprocessor.region.classes</name>
-        <value></value>
+        <value>com.xasecure.authorization.hbase.XaSecureAuthorizationCoprocessor</value>
     </property>
 
     <property>
@@ -122,13 +122,18 @@
     </property>
 
     <property>
+        <name>hbase.rpc.protection</name>
+        <value>PRIVACY</value>
+    </property>
+
+    <property>
         <name>hbase.security.authentication</name>
         <value>simple</value>
     </property>
 
     <property>
         <name>hbase.security.authorization</name>
-        <value>false</value>
+        <value>true</value>
     </property>
 
     <property>
@@ -171,4 +176,4 @@
         <value>/hbase-unsecure</value>
     </property>
 
-</configuration>
\ No newline at end of file
+</configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/hdfs-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hdfs-site.xml b/examples/test_case_data/sandbox/hdfs-site.xml
index c9a3a6a..db4da75 100644
--- a/examples/test_case_data/sandbox/hdfs-site.xml
+++ b/examples/test_case_data/sandbox/hdfs-site.xml
@@ -1,9 +1,14 @@
-<!--Mon May 25 01:30:31 2015-->
+<!--Wed May 27 06:14:02 2015-->
 <configuration>
 
     <property>
         <name>dfs.block.access.token.enable</name>
-        <value>true</value>
+        <value>false</value>
+    </property>
+
+    <property>
+        <name>dfs.block.size</name>
+        <value>34217472</value>
     </property>
 
     <property>
@@ -28,7 +33,7 @@
 
     <property>
         <name>dfs.cluster.administrators</name>
-        <value> hdfs</value>
+        <value>hdfs</value>
     </property>
 
     <property>
@@ -44,6 +49,7 @@
     <property>
         <name>dfs.datanode.data.dir</name>
         <value>/hadoop/hdfs/data</value>
+        <final>true</final>
     </property>
 
     <property>
@@ -59,6 +65,7 @@
     <property>
         <name>dfs.datanode.failed.volumes.tolerated</name>
         <value>0</value>
+        <final>true</final>
     </property>
 
     <property>
@@ -78,7 +85,12 @@
 
     <property>
         <name>dfs.datanode.max.transfer.threads</name>
-        <value>16384</value>
+        <value>1024</value>
+    </property>
+
+    <property>
+        <name>dfs.datanode.max.xcievers</name>
+        <value>1024</value>
     </property>
 
     <property>
@@ -117,8 +129,13 @@
     </property>
 
     <property>
+        <name>dfs.journalnode.https-address</name>
+        <value>0.0.0.0:8481</value>
+    </property>
+
+    <property>
         <name>dfs.namenode.accesstime.precision</name>
-        <value>0</value>
+        <value>3600000</value>
     </property>
 
     <property>
@@ -153,7 +170,7 @@
 
     <property>
         <name>dfs.namenode.handler.count</name>
-        <value>40</value>
+        <value>100</value>
     </property>
 
     <property>
@@ -170,6 +187,7 @@
     <property>
         <name>dfs.namenode.name.dir</name>
         <value>/hadoop/hdfs/namenode</value>
+        <final>true</final>
     </property>
 
     <property>
@@ -203,6 +221,16 @@
     </property>
 
     <property>
+        <name>dfs.nfs.exports.allowed.hosts</name>
+        <value>* rw</value>
+    </property>
+
+    <property>
+        <name>dfs.nfs3.dump.dir</name>
+        <value>/tmp/.hdfs-nfs</value>
+    </property>
+
+    <property>
         <name>dfs.permissions.enabled</name>
         <value>true</value>
     </property>
@@ -214,7 +242,7 @@
 
     <property>
         <name>dfs.replication</name>
-        <value>3</value>
+        <value>1</value>
     </property>
 
     <property>
@@ -231,6 +259,7 @@
     <property>
         <name>dfs.webhdfs.enabled</name>
         <value>true</value>
+        <final>true</final>
     </property>
 
     <property>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/hive-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hive-site.xml b/examples/test_case_data/sandbox/hive-site.xml
index 7efaf4f..21fc81a 100644
--- a/examples/test_case_data/sandbox/hive-site.xml
+++ b/examples/test_case_data/sandbox/hive-site.xml
@@ -1,4 +1,4 @@
-<!--Mon May 25 01:23:17 2015-->
+<!--Fri Apr 24 13:44:42 2015-->
 <configuration>
 
     <property>
@@ -23,7 +23,7 @@
 
     <property>
         <name>hive.auto.convert.join.noconditionaltask.size</name>
-        <value>1251999744</value>
+        <value>1000000000</value>
     </property>
 
     <property>
@@ -32,11 +32,6 @@
     </property>
 
     <property>
-        <name>hive.auto.convert.sortmerge.join.noconditionaltask</name>
-        <value>true</value>
-    </property>
-
-    <property>
         <name>hive.auto.convert.sortmerge.join.to.mapjoin</name>
         <value>false</value>
     </property>
@@ -73,7 +68,7 @@
 
     <property>
         <name>hive.compactor.check.interval</name>
-        <value>300L</value>
+        <value>300s</value>
     </property>
 
     <property>
@@ -88,7 +83,7 @@
 
     <property>
         <name>hive.compactor.initiator.on</name>
-        <value>false</value>
+        <value>true</value>
     </property>
 
     <property>
@@ -98,7 +93,7 @@
 
     <property>
         <name>hive.compactor.worker.timeout</name>
-        <value>86400L</value>
+        <value>86400s</value>
     </property>
 
     <property>
@@ -253,7 +248,7 @@
 
     <property>
         <name>hive.heapsize</name>
-        <value>1024</value>
+        <value>250</value>
     </property>
 
     <property>
@@ -427,11 +422,6 @@
     </property>
 
     <property>
-        <name>hive.optimize.mapjoin.mapreduce</name>
-        <value>true</value>
-    </property>
-
-    <property>
         <name>hive.optimize.metadataonly</name>
         <value>true</value>
     </property>
@@ -528,7 +518,7 @@
 
     <property>
         <name>hive.server2.enable.doAs</name>
-        <value>true</value>
+        <value>false</value>
     </property>
 
     <property>
@@ -638,7 +628,7 @@
 
     <property>
         <name>hive.support.concurrency</name>
-        <value>false</value>
+        <value>true</value>
     </property>
 
     <property>
@@ -648,7 +638,7 @@
 
     <property>
         <name>hive.tez.container.size</name>
-        <value>3584</value>
+        <value>250</value>
     </property>
 
     <property>
@@ -678,7 +668,7 @@
 
     <property>
         <name>hive.tez.java.opts</name>
-        <value>-server -Xmx2868m -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseParallelGC -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps</value>
+        <value>-server -Xmx200m -Djava.net.preferIPv4Stack=true</value>
     </property>
 
     <property>
@@ -703,7 +693,7 @@
 
     <property>
         <name>hive.txn.manager</name>
-        <value>org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager</value>
+        <value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
     </property>
 
     <property>
@@ -722,6 +712,11 @@
     </property>
 
     <property>
+        <name>hive.users.in.admin.role</name>
+        <value>hue,hive</value>
+    </property>
+
+    <property>
         <name>hive.vectorized.execution.enabled</name>
         <value>true</value>
     </property>
@@ -762,6 +757,11 @@
     </property>
 
     <property>
+        <name>hive_metastore_user_passwd</name>
+        <value>hive</value>
+    </property>
+
+    <property>
         <name>javax.jdo.option.ConnectionDriverName</name>
         <value>com.mysql.jdbc.Driver</value>
     </property>
@@ -776,4 +776,4 @@
         <value>hive</value>
     </property>
 
-</configuration>
\ No newline at end of file
+</configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/mapred-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/mapred-site.xml b/examples/test_case_data/sandbox/mapred-site.xml
index 674643a..8d345d1 100644
--- a/examples/test_case_data/sandbox/mapred-site.xml
+++ b/examples/test_case_data/sandbox/mapred-site.xml
@@ -1,7 +1,27 @@
-<!--Mon May 25 01:30:55 2015-->
+<!--Wed May 27 08:09:05 2015-->
 <configuration>
 
     <property>
+        <name>io.sort.mb</name>
+        <value>64</value>
+    </property>
+
+    <property>
+        <name>mapred.child.java.opts</name>
+        <value>-Xmx200m</value>
+    </property>
+
+    <property>
+        <name>mapred.job.map.memory.mb</name>
+        <value>250</value>
+    </property>
+
+    <property>
+        <name>mapred.job.reduce.memory.mb</name>
+        <value>250</value>
+    </property>
+
+    <property>
         <name>mapreduce.admin.map.child.java.opts</name>
         <value>-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}</value>
     </property>
@@ -33,7 +53,7 @@
 
     <property>
         <name>mapreduce.cluster.administrators</name>
-        <value> hadoop</value>
+        <value>hadoop</value>
     </property>
 
     <property>
@@ -78,7 +98,7 @@
 
     <property>
         <name>mapreduce.map.java.opts</name>
-        <value>-Xmx2867m</value>
+        <value>-Xmx200m</value>
     </property>
 
     <property>
@@ -88,7 +108,7 @@
 
     <property>
         <name>mapreduce.map.memory.mb</name>
-        <value>3584</value>
+        <value>250</value>
     </property>
 
     <property>
@@ -123,7 +143,7 @@
 
     <property>
         <name>mapreduce.reduce.java.opts</name>
-        <value>-Xmx2867m</value>
+        <value>-Xmx200m</value>
     </property>
 
     <property>
@@ -133,7 +153,7 @@
 
     <property>
         <name>mapreduce.reduce.memory.mb</name>
-        <value>3584</value>
+        <value>250</value>
     </property>
 
     <property>
@@ -183,7 +203,7 @@
 
     <property>
         <name>mapreduce.task.io.sort.mb</name>
-        <value>1024</value>
+        <value>64</value>
     </property>
 
     <property>
@@ -198,7 +218,7 @@
 
     <property>
         <name>yarn.app.mapreduce.am.command-opts</name>
-        <value>-Xmx2867m -Dhdp.version=${hdp.version}</value>
+        <value>-Xmx200m</value>
     </property>
 
     <property>
@@ -208,7 +228,7 @@
 
     <property>
         <name>yarn.app.mapreduce.am.resource.mb</name>
-        <value>3584</value>
+        <value>250</value>
     </property>
 
     <property>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f418cdff/examples/test_case_data/sandbox/yarn-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/yarn-site.xml b/examples/test_case_data/sandbox/yarn-site.xml
index f764f1b..a8cda86 100644
--- a/examples/test_case_data/sandbox/yarn-site.xml
+++ b/examples/test_case_data/sandbox/yarn-site.xml
@@ -1,4 +1,4 @@
-<!--Mon May 25 01:30:55 2015-->
+<!--Wed May 27 08:09:01 2015-->
 <configuration>
 
     <property>
@@ -28,7 +28,7 @@
 
     <property>
         <name>yarn.client.nodemanager-connect.max-wait-ms</name>
-        <value>900000</value>
+        <value>60000</value>
     </property>
 
     <property>
@@ -37,6 +37,11 @@
     </property>
 
     <property>
+        <name>yarn.http.policy</name>
+        <value>HTTP_ONLY</value>
+    </property>
+
+    <property>
         <name>yarn.log-aggregation-enable</name>
         <value>true</value>
     </property>
@@ -192,13 +197,18 @@
     </property>
 
     <property>
+        <name>yarn.nodemanager.pmem-check-enabled</name>
+        <value>false</value>
+    </property>
+
+    <property>
         <name>yarn.nodemanager.recovery.dir</name>
         <value>/var/log/hadoop-yarn/nodemanager/recovery-state</value>
     </property>
 
     <property>
         <name>yarn.nodemanager.recovery.enabled</name>
-        <value>false</value>
+        <value>true</value>
     </property>
 
     <property>
@@ -218,7 +228,7 @@
 
     <property>
         <name>yarn.nodemanager.resource.memory-mb</name>
-        <value>14336</value>
+        <value>9216</value>
     </property>
 
     <property>
@@ -233,7 +243,7 @@
 
     <property>
         <name>yarn.nodemanager.vmem-pmem-ratio</name>
-        <value>2.1</value>
+        <value>10</value>
     </property>
 
     <property>
@@ -273,7 +283,7 @@
 
     <property>
         <name>yarn.resourcemanager.fs.state-store.uri</name>
-        <value> </value>
+        <value></value>
     </property>
 
     <property>
@@ -293,7 +303,7 @@
 
     <property>
         <name>yarn.resourcemanager.recovery.enabled</name>
-        <value>false</value>
+        <value>true</value>
     </property>
 
     <property>
@@ -342,8 +352,33 @@
     </property>
 
     <property>
+        <name>yarn.resourcemanager.webapp.https.address</name>
+        <value>localhost:8090</value>
+    </property>
+
+    <property>
+        <name>yarn.resourcemanager.webapp.proxyuser.hcat.groups</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>yarn.resourcemanager.webapp.proxyuser.hcat.hosts</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>yarn.resourcemanager.webapp.proxyuser.oozie.groups</name>
+        <value>*</value>
+    </property>
+
+    <property>
+        <name>yarn.resourcemanager.webapp.proxyuser.oozie.hosts</name>
+        <value>*</value>
+    </property>
+
+    <property>
         <name>yarn.resourcemanager.work-preserving-recovery.enabled</name>
-        <value>false</value>
+        <value>true</value>
     </property>
 
     <property>
@@ -383,12 +418,12 @@
 
     <property>
         <name>yarn.scheduler.maximum-allocation-mb</name>
-        <value>14336</value>
+        <value>9216</value>
     </property>
 
     <property>
         <name>yarn.scheduler.minimum-allocation-mb</name>
-        <value>3584</value>
+        <value>1536</value>
     </property>
 
     <property>


[27/49] incubator-kylin git commit: update website content

Posted by lu...@apache.org.
update website content


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

Branch: refs/heads/0.7.1
Commit: ef4de9f6e877a645a9a744c81ce5410a1a9ccd65
Parents: 04838ce
Author: Luke Han <lu...@apache.org>
Authored: Sun May 31 18:23:52 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:12:20 2015 +0800

----------------------------------------------------------------------
 docs/website/blog/index.html      | 64 --------------------------
 docs/website/blog/index.md        | 64 ++++++++++++++++++++++++++
 docs/website/community/index.html | 83 ----------------------------------
 docs/website/community/index.md   | 83 ++++++++++++++++++++++++++++++++++
 4 files changed, 147 insertions(+), 147 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef4de9f6/docs/website/blog/index.html
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.html b/docs/website/blog/index.html
deleted file mode 100644
index 3f772bd..0000000
--- a/docs/website/blog/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
----
-layout: default
-title: Blog
----
-
-<!--
-* 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.
--->
-
-
-<main id="main" >
-<section id="first" class="main">
-    <header style="padding:2em 0 4em 0;">
-      <div class="container" >
-        <h4 class="section-title"><span> Kylin Technical Blog </span></h4>
-         <!-- second-->
-          <div id="content-container" class="animated fadeIn">
-            <div >
-            <!--
-            <p class="aboutkylin" style="font-size:1.2em">Comming Soon...</p>
-            -->
-             <ul class="post-list">
-            {% for category in site.categories %}     <!-- categories -->
-            {% if category[0]  == 'blog' %}
-            {% for post in category[1] %}
-            <li>
-            <!--
-            <span align="left" class="content-header">{{ post.date | date: "%b %-d, %Y" }}</span>
-            -->
-        <h2 align="left">
-          <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
-        </h2>
-      </li>
-    {% endfor %}
-    {% endif %}
-    {% endfor %}
-  </ul>
-
-  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
-          </div>
-        </div>
-      </div>
-      <!-- /container --> 
-      
-    </header>
-  </section>
-
-  
-    
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef4de9f6/docs/website/blog/index.md
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.md b/docs/website/blog/index.md
new file mode 100644
index 0000000..3f772bd
--- /dev/null
+++ b/docs/website/blog/index.md
@@ -0,0 +1,64 @@
+---
+layout: default
+title: Blog
+---
+
+<!--
+* 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.
+-->
+
+
+<main id="main" >
+<section id="first" class="main">
+    <header style="padding:2em 0 4em 0;">
+      <div class="container" >
+        <h4 class="section-title"><span> Kylin Technical Blog </span></h4>
+         <!-- second-->
+          <div id="content-container" class="animated fadeIn">
+            <div >
+            <!--
+            <p class="aboutkylin" style="font-size:1.2em">Comming Soon...</p>
+            -->
+             <ul class="post-list">
+            {% for category in site.categories %}     <!-- categories -->
+            {% if category[0]  == 'blog' %}
+            {% for post in category[1] %}
+            <li>
+            <!--
+            <span align="left" class="content-header">{{ post.date | date: "%b %-d, %Y" }}</span>
+            -->
+        <h2 align="left">
+          <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
+        </h2>
+      </li>
+    {% endfor %}
+    {% endif %}
+    {% endfor %}
+  </ul>
+
+  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
+          </div>
+        </div>
+      </div>
+      <!-- /container --> 
+      
+    </header>
+  </section>
+
+  
+    
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef4de9f6/docs/website/community/index.html
----------------------------------------------------------------------
diff --git a/docs/website/community/index.html b/docs/website/community/index.html
deleted file mode 100644
index 28b7d00..0000000
--- a/docs/website/community/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
----
-layout: default
-title: Community
----
-
-<!--
-* 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.
--->
-
-
-  <main id="main" >
-  <div class="container" >
-    <div id="zero" class=" main" >
-      <header style=" padding:2em 0 4em 0">
-        <div class="container" >
-          <h4 class="section-title"><span>Kylin Community</span></h4>
-          <div class="row" style="margin-top:-20px;">
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">EVENTS</p>
-
-
-
-
-              <p><a href="http://strataconf.com/big-data-conference-uk-2015/public/schedule/detail/40029" target="_blank">Strata+Hadoop World 2015, London </a> 
-              <br/>Date - Wednesday, May 6, 2015 <br/>
-              Kylin will be present at Strata+Hadooop World</p>
-
-              <p><a href="http://bdtc2014.hadooper.cn/m/zone/bdtc_2014" target="_blank">Big Data Technology Conference, Beijing </a> 
-              <br/>Date - Sunday, December 14, 2014 <br/>
-              Kylin be presented by Luke Han, Sr. Product Manager of Kylin</p>
-
-              <p><a href="http://www.meetup.com/Cloud-at-ebayinc/events/218914395/" target="_blank">Apache Kylin Meetup @Bay Area </a> 
-              <br/>6:00PM - 7:30PM, Thursday, December 4, 2014 <br/>
-               Learn about "Extreme OLAP engine for Hadoop - Kylin", which eBay recently Open sourced and is now an Apache Incubator Project</p>
-
-              <p><a href="http://2014ebay.csdn.net/m/zone/ebay_en/" target="_blank">Shanghai Big Data Summit 2014 </a> 
-              <br/>Date - October 25th, 2014 <br/>
-                Kylin be presented by Jiang Xu, Cheif Architect of Kylin<br/>
-                <a href="http://ebay.csdn.net/" target="_blank">Slides and Video</a></p>
-                  
-            </div>
-            
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">DISCUSSION</p>
-              <p>Developement and User maililng list: <a href="mailto:dev@kylin.incubator.apache.org" target="_blank"> dev@kylin.incubator.apache.org</a></p>
-              <p>Please subscribe by sending email to: <a href="mailto:dev-subscribe@kylin.incubator.apache.org" target="_blank">dev-subscribe@kylin.incubator.apache.org</a></p>              
-              <p>The official Kylin Twitter account: <a href="https://twitter.com/ApacheKylin" target="_blank"> @ApacheKylin</a></p>
-            </div>
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">DEVELOPMENT</p>
-              <p>All development takes place at : </p>
-              <p>Apache Git: <a href="git://git.apache.org/incubator-kylin.git" target="_blank">git://git.apache.org/incubator-kylin.git</a><br/>
-              Github Mirror: <a href="https://github.com/apache/incubator-kylin" target="_blank">https://github.com/apache/incubator-kylin</a></p>
-
-              <p>Issue tracking: <a href="https://issues.apache.org/jira/browse/KYLIN" target="_blank">Apache JIRA</a></p>
-            </div>
-          </div>
-        </div>
-        <!-- /container --> 
-        
-      </header>
-    </div>
-    <!-- / section --> 
-  </div>
-  <!-- /container -->
-  
-  </header>
-  </section>
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef4de9f6/docs/website/community/index.md
----------------------------------------------------------------------
diff --git a/docs/website/community/index.md b/docs/website/community/index.md
new file mode 100644
index 0000000..28b7d00
--- /dev/null
+++ b/docs/website/community/index.md
@@ -0,0 +1,83 @@
+---
+layout: default
+title: Community
+---
+
+<!--
+* 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.
+-->
+
+
+  <main id="main" >
+  <div class="container" >
+    <div id="zero" class=" main" >
+      <header style=" padding:2em 0 4em 0">
+        <div class="container" >
+          <h4 class="section-title"><span>Kylin Community</span></h4>
+          <div class="row" style="margin-top:-20px;">
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">EVENTS</p>
+
+
+
+
+              <p><a href="http://strataconf.com/big-data-conference-uk-2015/public/schedule/detail/40029" target="_blank">Strata+Hadoop World 2015, London </a> 
+              <br/>Date - Wednesday, May 6, 2015 <br/>
+              Kylin will be present at Strata+Hadooop World</p>
+
+              <p><a href="http://bdtc2014.hadooper.cn/m/zone/bdtc_2014" target="_blank">Big Data Technology Conference, Beijing </a> 
+              <br/>Date - Sunday, December 14, 2014 <br/>
+              Kylin be presented by Luke Han, Sr. Product Manager of Kylin</p>
+
+              <p><a href="http://www.meetup.com/Cloud-at-ebayinc/events/218914395/" target="_blank">Apache Kylin Meetup @Bay Area </a> 
+              <br/>6:00PM - 7:30PM, Thursday, December 4, 2014 <br/>
+               Learn about "Extreme OLAP engine for Hadoop - Kylin", which eBay recently Open sourced and is now an Apache Incubator Project</p>
+
+              <p><a href="http://2014ebay.csdn.net/m/zone/ebay_en/" target="_blank">Shanghai Big Data Summit 2014 </a> 
+              <br/>Date - October 25th, 2014 <br/>
+                Kylin be presented by Jiang Xu, Cheif Architect of Kylin<br/>
+                <a href="http://ebay.csdn.net/" target="_blank">Slides and Video</a></p>
+                  
+            </div>
+            
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">DISCUSSION</p>
+              <p>Developement and User maililng list: <a href="mailto:dev@kylin.incubator.apache.org" target="_blank"> dev@kylin.incubator.apache.org</a></p>
+              <p>Please subscribe by sending email to: <a href="mailto:dev-subscribe@kylin.incubator.apache.org" target="_blank">dev-subscribe@kylin.incubator.apache.org</a></p>              
+              <p>The official Kylin Twitter account: <a href="https://twitter.com/ApacheKylin" target="_blank"> @ApacheKylin</a></p>
+            </div>
+            <div class="col-sm-4 col-md-4">
+              <p class="big_text">DEVELOPMENT</p>
+              <p>All development takes place at : </p>
+              <p>Apache Git: <a href="git://git.apache.org/incubator-kylin.git" target="_blank">git://git.apache.org/incubator-kylin.git</a><br/>
+              Github Mirror: <a href="https://github.com/apache/incubator-kylin" target="_blank">https://github.com/apache/incubator-kylin</a></p>
+
+              <p>Issue tracking: <a href="https://issues.apache.org/jira/browse/KYLIN" target="_blank">Apache JIRA</a></p>
+            </div>
+          </div>
+        </div>
+        <!-- /container --> 
+        
+      </header>
+    </div>
+    <!-- / section --> 
+  </div>
+  <!-- /container -->
+  
+  </header>
+  </section>
+</main>


[49/49] incubator-kylin git commit: KYLIN 669 fix merge conflict

Posted by lu...@apache.org.
KYLIN 669 fix merge conflict


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

Branch: refs/heads/0.7.1
Commit: d09eae14cc549fd891ef7b0de8b9feca374edb54
Parents: f5dc6b9 0e6dc3a
Author: Luke Han <lu...@apache.org>
Authored: Tue Jun 2 18:25:12 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:25:12 2015 +0800

----------------------------------------------------------------------
 pom.xml                                        | 7 +++++--
 src/main/config/assemblies/source-assembly.xml | 3 +++
 2 files changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d09eae14/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 8f679d8,261ba58..1a80342
--- a/pom.xml
+++ b/pom.xml
@@@ -767,8 -739,8 +767,11 @@@
                                  <exclude>webapp/app/css/AdminLTE.css</exclude>
  
                                  <!-- jdbc log -->
--                                <exclude>jdbc/kylin_jdbc.log.*</exclude>
--                                <exclude>jdbc/kylin_jdbc.*</exclude>
++                                <exclude>jdbc/kylin_jdbc.log*</exclude>
++
++
++                                <!-- HBase MiniCluster Testing Data, for testing only -->
++                                <exclude>examples/test_case_data/minicluster/hbase-export.tar.gz</exclude>
  
                              </excludes>
                          </configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d09eae14/src/main/config/assemblies/source-assembly.xml
----------------------------------------------------------------------
diff --cc src/main/config/assemblies/source-assembly.xml
index 40773db,d9f1501..9d658eb
--- a/src/main/config/assemblies/source-assembly.xml
+++ b/src/main/config/assemblies/source-assembly.xml
@@@ -78,13 -82,10 +78,16 @@@ limitations under the License
                  <!-- release-plugin temp files -->
                  <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]
                  </exclude>
 +                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.next]
 +                </exclude>
 +                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.tag]
 +                </exclude>
 +                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
 +                </exclude>
 +
+                 <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
+                 </exclude>
+ 
 -                <exclude>**/website/**</exclude>
              </excludes>
          </fileSet>
          <!-- LICENSE, NOTICE, DEPENDENCIES, git.properties, etc. calculated at build time -->


[28/49] incubator-kylin git commit: doc-cn

Posted by lu...@apache.org.
doc-cn

Signed-off-by: Luke Han <lu...@apache.org>


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

Branch: refs/heads/0.7.1
Commit: 525cea2ea9fb5f38c72d174e4467e72f620ae14b
Parents: 2e857e6
Author: Luwei Chen <ch...@hotmail.com>
Authored: Fri May 29 18:21:35 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:12:21 2015 +0800

----------------------------------------------------------------------
 docs/website/_includes/head.cn.html             |   4 +-
 docs/website/_includes/head.html                |   4 +-
 docs/website/_includes/header.cn.html           |   4 +-
 docs/website/_includes/header.html              |   2 +-
 docs/website/_includes/navside.cn.html          | 112 +++++++++++++++
 docs/website/_includes/navside.html             |  26 ++--
 docs/website/_layouts/blog.html                 |  45 ++++++
 docs/website/_layouts/docs-cn.html              |  43 ++++++
 docs/website/_layouts/docs.html                 |   7 +-
 docs/website/_layouts/post-blog.html            |  38 ++++++
 docs/website/_layouts/post-cn.html              |  38 ++++++
 docs/website/_layouts/post.html                 |   2 +-
 .../blog/2015-01-25-introduce-data-model.md     |   2 +-
 ...\211\350\243\205\346\214\207\345\215\227.md" |  60 ++++++++
 ...\213\345\272\217\346\225\231\347\250\213.md" |  30 ++++
 ...\233\345\273\272\346\225\231\347\250\213.md" | 125 +++++++++++++++++
 ...\221\346\216\247\346\225\231\347\250\213.md" |  63 +++++++++
 ...\210\344\272\210\346\225\231\347\250\213.md" |  30 ++++
 ...5\222\214Tableau\346\225\231\347\250\213.md" | 108 +++++++++++++++
 ...\265\347\211\210\346\225\231\347\250\213.md" | 136 +++++++++++++++++++
 docs/website/assets/css/docs.css                |  20 +++
 docs/website/assets/js/nnav.js                  |  16 +++
 docs/website/assets/js/nside.js                 |  13 ++
 docs/website/docs/index.cn.md                   |  90 ++++++++++++
 docs/website/docs/index.md                      |   4 +-
 25 files changed, 994 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_includes/head.cn.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/head.cn.html b/docs/website/_includes/head.cn.html
index 36c3a0e..7da6820 100644
--- a/docs/website/_includes/head.cn.html
+++ b/docs/website/_includes/head.cn.html
@@ -63,5 +63,7 @@
 
 
 </script>
-
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
 </head>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_includes/head.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/head.html b/docs/website/_includes/head.html
index 421b450..d4a74cb 100644
--- a/docs/website/_includes/head.html
+++ b/docs/website/_includes/head.html
@@ -63,5 +63,7 @@
 
 
 </script>
-
+<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script>
+<script type="text/javascript" src="/assets/js/nside.js"></script> </script>
+<script type="text/javascript" src="/assets/js/nnav.js"></script> </script>
 </head>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_includes/header.cn.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/header.cn.html b/docs/website/_includes/header.cn.html
index 8ee7ebe..fc6da75 100644
--- a/docs/website/_includes/header.cn.html
+++ b/docs/website/_includes/header.cn.html
@@ -39,8 +39,8 @@
     <!-- Collect the nav links, forms, and other content for toggling -->
     <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
       <ul class="nav navbar-nav">
-     <li><a href="/cn"><b>首页</b></a></li>
-          <li><a href="/docs" >文档</a></li>
+     <li><a href="/cn">首页</a></li>
+          <li><a href="/cn/docs" >文档</a></li>
           <li><a href="/community" >社区</a></li>
           <li><a href="/blog">博客</li>
           <li><a href="/download">下载</li>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_includes/header.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/header.html b/docs/website/_includes/header.html
index f264884..555633e 100644
--- a/docs/website/_includes/header.html
+++ b/docs/website/_includes/header.html
@@ -44,7 +44,7 @@
     <!-- Collect the nav links, forms, and other content for toggling -->
     <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
       <ul class="nav navbar-nav">
-     <li><a href="/"><b>Home</b></a></li>
+     <li><a href="/">Home</a></li>
           <li><a href="/docs" >Docs</a></li>
           <li><a href="/community" >Community</a></li>
           <li><a href="/blog">Blog</li>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_includes/navside.cn.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/navside.cn.html b/docs/website/_includes/navside.cn.html
new file mode 100755
index 0000000..0717238
--- /dev/null
+++ b/docs/website/_includes/navside.cn.html
@@ -0,0 +1,112 @@
+<!--
+* 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.
+-->
+
+<div class="col-md-3 col-lg-3 col-xs-4 aside1 visible-md visible-lg" id="nside1" style=" padding-top: 2em">
+    <ul class="nav nav-pills nav-stacked">
+        {% for category in site.categories %}     <!-- categories -->
+        {% if category[0] == '入门' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">入门</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group" id="list1">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+        {% for category in site.categories %}
+        {% if category[0] == '安装' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">安装</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group" id="list2">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+        {% for category in site.categories %}
+        {% if category[0] == '教程' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">教程</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group" id="list3">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+        {% for category in site.categories %}
+        {% if category[0] == '开发' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">开发</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group" id="list4">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+        {% for category in site.categories %}
+        {% if category[0] == '如何' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">如何</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group" id="list5">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+
+
+        {% for category in site.categories %}
+        {% if category[0] == '系统api' %}
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">系统API</a></li>
+        <div class="collapse in" id="{{ category[0] }}">
+            <div class="list-group" id="list6">
+                <ul style="list-style-type:disc">
+                    {% for post in category[1] %}
+                    <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
+                    {% endfor %}
+                    <ul>
+            </div>
+        </div>
+        {% endif %}
+        {% endfor %}
+    </ul>
+</div>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_includes/navside.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/navside.html b/docs/website/_includes/navside.html
index b395b7a..535af83 100755
--- a/docs/website/_includes/navside.html
+++ b/docs/website/_includes/navside.html
@@ -16,13 +16,13 @@
 * limitations under the License.
 -->
 
-<div class="col-md-3 col-lg-3 col-xs-4 aside1 visible-md visible-lg">
+<div class="col-md-3 col-lg-3 col-xs-4 aside1 visible-md visible-lg" id="nside1" style=" padding-top: 2em">
     <ul class="nav nav-pills nav-stacked">
         {% for category in site.categories %}     <!-- categories -->
         {% if category[0] == 'gettingstarted' %}
-        <li><a href="#{{ category | first }}" data-toggle="collapse">Getting Started</a></li>
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">Getting Started</a></li>
         <div class="collapse in" id="{{ category[0] }}">
-            <div class="list-group">
+            <div class="list-group" id="list1">
                 <ul style="list-style-type:disc">
                     {% for post in category[1] %}
                     <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
@@ -35,9 +35,9 @@
 
         {% for category in site.categories %}
         {% if category[0] == 'installation' %}
-        <li><a href="#{{ category | first }}" data-toggle="collapse">Installation</a></li>
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">Installation</a></li>
         <div class="collapse in" id="{{ category[0] }}">
-            <div class="list-group">
+            <div class="list-group" id="list2">
                 <ul style="list-style-type:disc">
                     {% for post in category[1] %}
                     <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
@@ -50,9 +50,9 @@
 
         {% for category in site.categories %}
         {% if category[0] == 'tutorial' %}
-        <li><a href="#{{ category | first }}" data-toggle="collapse">Tutorial</a></li>
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">Tutorial</a></li>
         <div class="collapse in" id="{{ category[0] }}">
-            <div class="list-group">
+            <div class="list-group" id="list3">
                 <ul style="list-style-type:disc">
                     {% for post in category[1] %}
                     <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
@@ -65,9 +65,9 @@
 
         {% for category in site.categories %}
         {% if category[0] == 'development' %}
-        <li><a href="#{{ category | first }}" data-toggle="collapse">Development</a></li>
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">Development</a></li>
         <div class="collapse in" id="{{ category[0] }}">
-            <div class="list-group">
+            <div class="list-group" id="list4">
                 <ul style="list-style-type:disc">
                     {% for post in category[1] %}
                     <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
@@ -80,9 +80,9 @@
 
         {% for category in site.categories %}
         {% if category[0] == 'howto' %}
-        <li><a href="#{{ category | first }}" data-toggle="collapse">How to</a></li>
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">How to</a></li>
         <div class="collapse in" id="{{ category[0] }}">
-            <div class="list-group">
+            <div class="list-group" id="list5">
                 <ul style="list-style-type:disc">
                     {% for post in category[1] %}
                     <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>
@@ -96,9 +96,9 @@
 
         {% for category in site.categories %}
         {% if category[0] == 'api' %}
-        <li><a href="#{{ category | first }}" data-toggle="collapse">API</a></li>
+        <li><a href="#{{ category | first }}" data-toggle="collapse" id="navtitle">API</a></li>
         <div class="collapse in" id="{{ category[0] }}">
-            <div class="list-group">
+            <div class="list-group" id="list6">
                 <ul style="list-style-type:disc">
                     {% for post in category[1] %}
                     <li><a href="{{ post.url }}" class="list-group-item-lay pjaxlink">{{post.title}}</a></li>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_layouts/blog.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/blog.html b/docs/website/_layouts/blog.html
new file mode 100644
index 0000000..b146a22
--- /dev/null
+++ b/docs/website/_layouts/blog.html
@@ -0,0 +1,45 @@
+<!--
+* 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.
+-->
+<!doctype html>
+<html>
+	{% include head.html %}
+	<body>
+		{% include header.html %}
+		<div class="page-content">
+			<header style=" padding:2em 0 0 0">
+			<div class="container" >
+				<h4 class="section-title"><span>Kylin Technical Blog</span></h4>
+			</div>
+		</div>
+
+		<div class="container">
+			<div>
+				{{ content }}
+			</div>
+		</div>		
+		{% include footer.html %}
+
+	<script src="/assets/js/jquery-1.9.1.min.js"></script> 
+	<script src="/assets/js/bootstrap.min.js"></script> 
+	<script src="/assets/js/main.js"></script>
+	</body>
+</html>
+
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_layouts/docs-cn.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/docs-cn.html b/docs/website/_layouts/docs-cn.html
new file mode 100755
index 0000000..dad1383
--- /dev/null
+++ b/docs/website/_layouts/docs-cn.html
@@ -0,0 +1,43 @@
+<!--
+* 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.
+-->
+
+<!doctype html>
+<html>
+	{% include head.cn.html %}
+	<body>
+		{% include header.cn.html %}
+		
+		<div class="container">
+			<div class="row">
+				{% include navside.cn.html %}
+				<div class="col-md-9 col-lg-9 col-xs-14 aside2">
+					<div id="container">
+						<div id="pjax">
+							{{ content }}
+						</div>
+					</div>
+				</div>
+			</div>
+		</div>		
+		{% include footer.html %}
+
+	<script src="/assets/js/jquery-1.9.1.min.js"></script> 
+	<script src="/assets/js/bootstrap.min.js"></script> 
+	<script src="/assets/js/main.js"></script>
+	</body>
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_layouts/docs.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/docs.html b/docs/website/_layouts/docs.html
index d5b00d9..decf9b3 100755
--- a/docs/website/_layouts/docs.html
+++ b/docs/website/_layouts/docs.html
@@ -21,12 +21,7 @@
 	{% include head.html %}
 	<body>
 		{% include header.html %}
-		<div class="page-content">
-			<header style=" padding:2em 0 0 0">
-			<div class="container" >
-				<h4 class="section-title"><span>Kylin Docs</span></h4>
-			</div>
-		</div>
+		
 		<div class="container">
 			<div class="row">
 				{% include navside.html %}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_layouts/post-blog.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/post-blog.html b/docs/website/_layouts/post-blog.html
new file mode 100644
index 0000000..6e311ec
--- /dev/null
+++ b/docs/website/_layouts/post-blog.html
@@ -0,0 +1,38 @@
+---
+layout: blog
+---
+
+<!--
+* 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.
+-->
+
+<div class="post" style=" padding:2em 4em 4em 4em">
+
+  <header class="post-header">
+    <h1 class="post-title">{{ page.title }}</h1>
+    <p class="post-meta" >{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
+  </header>
+
+  <article class="post-content" >
+    {{ content }}
+  </article>
+
+</div>
+
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_layouts/post-cn.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/post-cn.html b/docs/website/_layouts/post-cn.html
new file mode 100644
index 0000000..cba1250
--- /dev/null
+++ b/docs/website/_layouts/post-cn.html
@@ -0,0 +1,38 @@
+---
+layout: docs-cn
+---
+
+<!--
+* 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.
+-->
+
+<div class="post" style=" padding:1.5em 4em 4em 4em">
+
+  <header class="post-header">
+    <h1 class="post-title">{{ page.title }}</h1>
+    <p class="post-meta" >{{ page.date | date: "%b %-d, %Y" }}{% if page.author %} • {{ page.author }}{% endif %}{% if page.meta %} • {{ page.meta }}{% endif %}</p>
+  </header>
+
+  <article class="post-content" >
+    {{ content }}
+  </article>
+
+</div>
+
+
+
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_layouts/post.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/post.html b/docs/website/_layouts/post.html
index 7503e6e..19732c9 100644
--- a/docs/website/_layouts/post.html
+++ b/docs/website/_layouts/post.html
@@ -20,7 +20,7 @@ layout: docs
 * limitations under the License.
 -->
 
-<div class="post" style=" padding:2em 4em 4em 4em">
+<div class="post" style=" padding:1.5em 4em 4em 4em">
 
   <header class="post-header">
     <h1 class="post-title">{{ page.title }}</h1>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/blog/2015-01-25-introduce-data-model.md b/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
index d5491b9..517aced 100644
--- a/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
+++ b/docs/website/_posts/blog/2015-01-25-introduce-data-model.md
@@ -1,5 +1,5 @@
 ---
-layout: post
+layout: post-blog
 title:  "Introduce Data Model of Cube Designer"
 date:   2015-01-25 22:28:00
 author: Luke Han

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/"docs/website/_posts/\345\256\211\350\243\205/2015-01-22-Kylin\346\211\213\345\212\250\345\256\211\350\243\205\346\214\207\345\215\227.md"
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/"docs/website/_posts/\346\225\231\347\250\213/2014-11-05-Kylin-ODBC-\351\251\261\345\212\250\347\250\213\345\272\217\346\225\231\347\250\213.md"
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/"docs/website/_posts/\346\225\231\347\250\213/2014-11-05-kylin-cube-\345\210\233\345\273\272\346\225\231\347\250\213.md"
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/"docs/website/_posts/\346\225\231\347\250\213/2014-11-06-Kylin-Cube-\345\273\272\347\253\213\345\222\214Job\347\233\221\346\216\247\346\225\231\347\250\213.md"
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/"docs/website/_posts/\346\225\231\347\250\213/2014-11-11-Kylin-Cube-\346\235\203\351\231\220\346\216\210\344\272\210\346\225\231\347\250\213.md"
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/"docs/website/_posts/\346\225\231\347\250\213/2015-04-17-Kylin\345\222\214Tableau\346\225\231\347\250\213.md"
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/"docs/website/_posts/\346\225\231\347\250\213/2015-04-17-Kylin\347\275\221\351\241\265\347\211\210\346\225\231\347\250\213.md"
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/assets/css/docs.css
----------------------------------------------------------------------
diff --git a/docs/website/assets/css/docs.css b/docs/website/assets/css/docs.css
index d46052b..f824c8a 100755
--- a/docs/website/assets/css/docs.css
+++ b/docs/website/assets/css/docs.css
@@ -103,4 +103,24 @@
   color: #666666;
 }
 
+.nside {
+  color: #fb8d08;
+}
+
+.nnav {
+  font-weight: 600;
+}
+
+.nnav-home {
+  font-weight: 200;
+}
+
+#navtitle {
+  color:#454545;
+}
+
+#navtitle:hover, #navtitle:focus{
+  color:#000000;
+}
+
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/assets/js/nnav.js
----------------------------------------------------------------------
diff --git a/docs/website/assets/js/nnav.js b/docs/website/assets/js/nnav.js
new file mode 100644
index 0000000..3554118
--- /dev/null
+++ b/docs/website/assets/js/nnav.js
@@ -0,0 +1,16 @@
+$(function() {
+	var myNav = $("#bs-example-navbar-collapse-1 a"),i;
+	for(i=0;i<myNav.length;i++) {
+		var links = myNav.eq(i).attr("href"), myURL = document.URL;
+		if (links != "/" & links != "/cn") {
+			if(myURL.indexOf(links) != -1) {
+				myNav.eq(i).attr('class','nnav');
+				myNav.eq(0).attr('class','nnav-home');
+				break;
+			}
+		}
+		else if (links == "/" | links == "/cn")  {
+			myNav.eq(0).attr('class','nnav');
+		}
+	}
+})

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/assets/js/nside.js
----------------------------------------------------------------------
diff --git a/docs/website/assets/js/nside.js b/docs/website/assets/js/nside.js
new file mode 100644
index 0000000..35ec49e
--- /dev/null
+++ b/docs/website/assets/js/nside.js
@@ -0,0 +1,13 @@
+$(function() {
+	var myNav1 = $("#nside1 .list-group"),i,j;
+	for(i=0;i<myNav1.length;i++) {
+		var myid = myNav1.eq(i).attr("id");
+		var myNav2 = $("#" + myid + " a");
+		for(j=0;j<myNav2.length;j++) {
+			var links = myNav2.eq(j).attr("href"), myURL = document.URL;
+			if(myURL.indexOf(links) != -1) {
+				myNav2.eq(j).attr('class','nside');
+			}
+		}
+	}
+})

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/docs/index.cn.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.cn.md b/docs/website/docs/index.cn.md
new file mode 100644
index 0000000..699b571
--- /dev/null
+++ b/docs/website/docs/index.cn.md
@@ -0,0 +1,90 @@
+---
+layout: docs-cn
+title: Docs
+---
+
+<main id="main" >
+  <div class="container" >
+    <div id="zero" class=" main" >
+      <header style=" padding:1.0em 0 4em 0">
+        <div class="container" >
+
+         
+     <div id="content-container" class="animated fadeIn">
+       
+
+<p class="content-header" >What should I use Kylin for?</p>
+<p class="content-p">
+If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
+</p>
+
+<hr/>
+ 
+<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
+<p class="content-p">
+The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
+</p>
+<hr/>
+ 
+<p class="content-header">What is MOLAP/ROLAP?</p>
+<p class="content-p">
+MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
+ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
+</p>
+<hr/>
+
+<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
+<p class="content-p">
+Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
+If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
+If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
+Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
+</p>
+<hr/>
+<p class="content-header">What does a Kylin query look like?</p>
+<p class="content-p">
+Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
+<div align="left">
+
+<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
+</div>
+<hr/>
+
+<p class="content-header">What Hadoop components does it work with?</p>
+<p class="content-p">
+Kylin depends on HDFS, MapReduce, Hive and HBase.
+Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
+HDFS is used to store intermediated files during cube building.
+HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
+</p>
+<hr/>
+
+<!-- Migrate wiki to here 
+<p class="content-header">Where can I find the technical details about Kylin?</p>
+<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin Wiki</a></p>
+
+-->
+
+     </div>
+         
+         </div><!--end of rightcontent-->
+         
+         </div><!--end of row-->
+        </div>
+        <!-- /container --> 
+        
+        
+        
+      </header>
+    </div>
+    <!-- / section --> 
+  </div>
+  <!-- /container -->
+ 
+
+  
+
+      
+    </header>
+  </section>
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/525cea2e/docs/website/docs/index.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.md b/docs/website/docs/index.md
index d55a9ef..75e984a 100644
--- a/docs/website/docs/index.md
+++ b/docs/website/docs/index.md
@@ -6,14 +6,14 @@ title: Docs
 <main id="main" >
   <div class="container" >
     <div id="zero" class=" main" >
-      <header style=" padding:2em 0 4em 0">
+      <header style=" padding:1.0em 0 4em 0">
         <div class="container" >
 
          
      <div id="content-container" class="animated fadeIn">
        
 
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
+<p class="content-header" >What should I use Kylin for?</p>
 <p class="content-p">
 If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
 </p>


[07/49] incubator-kylin git commit: KYLIN-753 Make the dependency on hbase-common to "provided"

Posted by lu...@apache.org.
KYLIN-753 Make the dependency on hbase-common to "provided"

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

Branch: refs/heads/0.7.1
Commit: 928ef4cf7ae9b5156c858db643a41514741984a4
Parents: aa3b1d2
Author: shaofengshi <sh...@apache.org>
Authored: Wed May 27 15:01:22 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Wed May 27 15:01:22 2015 +0800

----------------------------------------------------------------------
 .../common/persistence/HBaseResourceStore.java  |    2 +-
 .../kylin/common/restclient/RestClient.java     |    2 +-
 .../org/apache/kylin/common/util/ByteArray.java |    2 +-
 .../org/apache/kylin/common/util/Bytes.java     | 2260 ++++++++++++++++++
 .../apache/kylin/common/util/BytesSplitter.java |    2 +-
 .../org/apache/kylin/common/util/BytesUtil.java |    2 +-
 .../kylin/common/util/CliCommandExecutor.java   |    2 +-
 .../common/util/HBaseRegionSizeCalculator.java  |    2 +-
 .../java/org/apache/kylin/common/util/Pair.java |  132 +
 .../common/util/HyperLogLogCounterTest.java     |    2 +-
 .../java/org/apache/kylin/cube/CubeManager.java |    2 +-
 .../kylin/cube/common/RowKeySplitter.java       |    2 +-
 .../org/apache/kylin/cube/cuboid/Cuboid.java    |    2 +-
 .../apache/kylin/cube/kv/RowKeyColumnIO.java    |    2 +-
 .../org/apache/kylin/cube/kv/RowKeyEncoder.java |    2 +-
 .../org/apache/kylin/cube/CubeSegmentsTest.java |    2 +-
 .../apache/kylin/cube/kv/RowKeyDecoderTest.java |    2 +-
 .../apache/kylin/cube/kv/RowKeyEncoderTest.java |    2 +-
 .../apache/kylin/dict/DictionaryGenerator.java  |    2 +-
 .../org/apache/kylin/dict/NumberDictionary.java |    2 +-
 .../kylin/dict/NumberDictionaryBuilder.java     |    2 +-
 .../apache/kylin/dict/StringBytesConverter.java |    2 +-
 .../kylin/dict/lookup/FileTableReader.java      |    2 +-
 .../kylin/dict/lookup/LookupBytesTable.java     |    2 +-
 .../apache/kylin/dict/lookup/LookupTable.java   |    2 +-
 .../org/apache/kylin/dict/LookupTableTest.java  |    2 +-
 .../apache/kylin/dict/NumberDictionaryTest.java |    2 +-
 .../kylin/dict/lookup/LookupTableTest.java      |    2 +-
 .../index/CompressedValueContainer.java         |    2 +-
 .../invertedindex/index/RawTableRecord.java     |    2 +-
 .../kylin/invertedindex/model/IIDesc.java       |    2 +-
 .../invertedindex/model/IIKeyValueCodec.java    |    2 +-
 .../apache/kylin/invertedindex/tools/IICLI.java |    2 +-
 .../invertedindex/InvertedIndexLocalTest.java   |    2 +-
 job/pom.xml                                     |    3 +-
 .../kylin/job/common/ShellExecutable.java       |    2 +-
 .../apache/kylin/job/cube/CubingJobBuilder.java |    2 +-
 .../cardinality/ColumnCardinalityMapper.java    |    2 +-
 .../kylin/job/hadoop/cube/BaseCuboidMapper.java |    2 +-
 .../kylin/job/hadoop/cube/CubeHFileMapper.java  |    2 +-
 .../cube/FactDistinctColumnsCombiner.java       |    2 +-
 .../hadoop/cube/FactDistinctColumnsMapper.java  |    2 +-
 .../hadoop/cube/FactDistinctColumnsReducer.java |    2 +-
 .../job/hadoop/cube/NewBaseCuboidMapper.java    |    4 +-
 .../IIDistinctColumnsCombiner.java              |    2 +-
 .../invertedindex/IIDistinctColumnsMapper.java  |    2 +-
 .../invertedindex/IIDistinctColumnsReducer.java |    2 +-
 .../invertedindex/InvertedIndexReducer.java     |    2 +-
 .../kylin/job/tools/DeployCoprocessorCLI.java   |    2 +-
 .../job/tools/GridTableHBaseBenchmark.java      |    4 +-
 .../java/org/apache/kylin/job/DeployUtil.java   |    2 +-
 .../job/hadoop/cube/BaseCuboidMapperTest.java   |    2 +-
 .../job/hadoop/cube/CubeHFileMapper2Test.java   |    2 +-
 .../job/hadoop/cube/NDCuboidMapperTest.java     |    2 +-
 .../kylin/job/hadoop/hbase/TestHbaseClient.java |    2 +-
 .../job/tools/ColumnCardinalityReducerTest.java |    2 +-
 .../metadata/measure/BigDecimalSerializer.java  |    2 +-
 .../metadata/measure/DoubleSerializer.java      |    2 +-
 .../kylin/metadata/measure/LongSerializer.java  |    2 +-
 .../apache/kylin/rest/service/AclService.java   |    2 +-
 .../apache/kylin/rest/service/JobService.java   |    2 +-
 .../apache/kylin/rest/service/QueryService.java |    2 +-
 .../apache/kylin/rest/service/UserService.java  |    2 +-
 .../storage/hbase/CubeSegmentTupleIterator.java |   17 +-
 .../kylin/storage/hbase/CubeStorageEngine.java  |    4 +-
 .../storage/hbase/DerivedFilterTranslator.java  |    2 +-
 .../storage/hbase/HBaseClientKVIterator.java    |    2 +-
 .../kylin/storage/hbase/HBaseKeyRange.java      |    4 +-
 .../kylin/storage/hbase/PingHBaseCLI.java       |    2 +-
 .../hbase/coprocessor/CoprocessorFilter.java    |    2 +-
 .../endpoint/HbaseServerKVIterator.java         |    2 +-
 .../hbase/coprocessor/endpoint/IIEndpoint.java  |    2 +-
 .../observer/ObserverAggregators.java           |    2 +-
 .../hbase/coprocessor/RowProjectorTest.java     |    2 +-
 .../observer/AggregateRegionObserverTest.java   |    2 +-
 .../observer/RowAggregatorsTest.java            |    2 +-
 76 files changed, 2483 insertions(+), 81 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/persistence/HBaseResourceStore.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/persistence/HBaseResourceStore.java b/common/src/main/java/org/apache/kylin/common/persistence/HBaseResourceStore.java
index 59903c5..2868368 100644
--- a/common/src/main/java/org/apache/kylin/common/persistence/HBaseResourceStore.java
+++ b/common/src/main/java/org/apache/kylin/common/persistence/HBaseResourceStore.java
@@ -40,7 +40,7 @@ import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.filter.KeyOnlyFilter;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.BytesUtil;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/restclient/RestClient.java b/common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
index 22e5c0e..743acfe 100644
--- a/common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
+++ b/common/src/main/java/org/apache/kylin/common/restclient/RestClient.java
@@ -30,7 +30,7 @@ import org.apache.commons.httpclient.UsernamePasswordCredentials;
 import org.apache.commons.httpclient.auth.AuthScope;
 import org.apache.commons.httpclient.methods.GetMethod;
 import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/util/ByteArray.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/util/ByteArray.java b/common/src/main/java/org/apache/kylin/common/util/ByteArray.java
index df6f01b..e14780a 100644
--- a/common/src/main/java/org/apache/kylin/common/util/ByteArray.java
+++ b/common/src/main/java/org/apache/kylin/common/util/ByteArray.java
@@ -20,7 +20,7 @@ package org.apache.kylin.common.util;
 
 import java.util.Arrays;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 /**
  * @author yangli9

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/util/Bytes.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/util/Bytes.java b/common/src/main/java/org/apache/kylin/common/util/Bytes.java
new file mode 100644
index 0000000..3bbc93c
--- /dev/null
+++ b/common/src/main/java/org/apache/kylin/common/util/Bytes.java
@@ -0,0 +1,2260 @@
+/**
+ * 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 org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.io.RawComparator;
+import org.apache.hadoop.io.WritableComparator;
+import org.apache.hadoop.io.WritableUtils;
+import sun.misc.Unsafe;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.lang.reflect.Field;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.charset.Charset;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.SecureRandom;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+
+import static com.google.common.base.Preconditions.*;
+
+/**
+ * Utility class that handles byte arrays, conversions to/from other types,
+ * comparisons, hash code generation, manufacturing keys for HashMaps or
+ * HashSets, etc.
+ *
+ * Copied from org.apache.hadoop.hbase.util.Bytes
+ */
+public class Bytes {
+    //HConstants.UTF8_ENCODING should be updated if this changed
+    /**
+     * When we encode strings, we always specify UTF8 encoding
+     */
+    private static final String UTF8_ENCODING = "UTF-8";
+
+    //HConstants.UTF8_CHARSET should be updated if this changed
+    /**
+     * When we encode strings, we always specify UTF8 encoding
+     */
+    private static final Charset UTF8_CHARSET = Charset.forName(UTF8_ENCODING);
+
+    //HConstants.EMPTY_BYTE_ARRAY should be updated if this changed
+    private static final byte[] EMPTY_BYTE_ARRAY = new byte[0];
+
+    private static final Log LOG = LogFactory.getLog(Bytes.class);
+
+    /**
+     * Size of boolean in bytes
+     */
+    public static final int SIZEOF_BOOLEAN = Byte.SIZE / Byte.SIZE;
+
+    /**
+     * Size of byte in bytes
+     */
+    public static final int SIZEOF_BYTE = SIZEOF_BOOLEAN;
+
+    /**
+     * Size of char in bytes
+     */
+    public static final int SIZEOF_CHAR = Character.SIZE / Byte.SIZE;
+
+    /**
+     * Size of double in bytes
+     */
+    public static final int SIZEOF_DOUBLE = Double.SIZE / Byte.SIZE;
+
+    /**
+     * Size of float in bytes
+     */
+    public static final int SIZEOF_FLOAT = Float.SIZE / Byte.SIZE;
+
+    /**
+     * Size of int in bytes
+     */
+    public static final int SIZEOF_INT = Integer.SIZE / Byte.SIZE;
+
+    /**
+     * Size of long in bytes
+     */
+    public static final int SIZEOF_LONG = Long.SIZE / Byte.SIZE;
+
+    /**
+     * Size of short in bytes
+     */
+    public static final int SIZEOF_SHORT = Short.SIZE / Byte.SIZE;
+
+
+    /**
+     * Estimate of size cost to pay beyond payload in jvm for instance of byte [].
+     * Estimate based on study of jhat and jprofiler numbers.
+     */
+    // JHat says BU is 56 bytes.
+    // SizeOf which uses java.lang.instrument says 24 bytes. (3 longs?)
+    public static final int ESTIMATED_HEAP_TAX = 16;
+
+
+    /**
+     * Returns length of the byte array, returning 0 if the array is null.
+     * Useful for calculating sizes.
+     *
+     * @param b byte array, which can be null
+     * @return 0 if b is null, otherwise returns length
+     */
+    final public static int len(byte[] b) {
+        return b == null ? 0 : b.length;
+    }
+
+    /**
+     * Byte array comparator class.
+     */
+    public static class ByteArrayComparator implements RawComparator<byte[]> {
+        /**
+         * Constructor
+         */
+        public ByteArrayComparator() {
+            super();
+        }
+
+        @Override
+        public int compare(byte[] left, byte[] right) {
+            return compareTo(left, right);
+        }
+
+        @Override
+        public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {
+            return LexicographicalComparerHolder.BEST_COMPARER.
+                    compareTo(b1, s1, l1, b2, s2, l2);
+        }
+    }
+
+    /**
+     * A {@link ByteArrayComparator} that treats the empty array as the largest value.
+     * This is useful for comparing row end keys for regions.
+     */
+    // TODO: unfortunately, HBase uses byte[0] as both start and end keys for region
+    // boundaries. Thus semantically, we should treat empty byte array as the smallest value
+    // while comparing row keys, start keys etc; but as the largest value for comparing
+    // region boundaries for endKeys.
+    public static class RowEndKeyComparator extends ByteArrayComparator {
+        @Override
+        public int compare(byte[] left, byte[] right) {
+            return compare(left, 0, left.length, right, 0, right.length);
+        }
+
+        @Override
+        public int compare(byte[] b1, int s1, int l1, byte[] b2, int s2, int l2) {
+            if (b1 == b2 && s1 == s2 && l1 == l2) {
+                return 0;
+            }
+            if (l1 == 0) {
+                return l2; //0 or positive
+            }
+            if (l2 == 0) {
+                return -1;
+            }
+            return super.compare(b1, s1, l1, b2, s2, l2);
+        }
+    }
+
+    /**
+     * Pass this to TreeMaps where byte [] are keys.
+     */
+    public final static Comparator<byte[]> BYTES_COMPARATOR = new ByteArrayComparator();
+
+    /**
+     * Use comparing byte arrays, byte-by-byte
+     */
+    public final static RawComparator<byte[]> BYTES_RAWCOMPARATOR = new ByteArrayComparator();
+
+    /**
+     * Read byte-array written with a WritableableUtils.vint prefix.
+     *
+     * @param in Input to read from.
+     * @return byte array read off <code>in</code>
+     * @throws java.io.IOException e
+     */
+    public static byte[] readByteArray(final DataInput in)
+            throws IOException {
+        int len = WritableUtils.readVInt(in);
+        if (len < 0) {
+            throw new NegativeArraySizeException(Integer.toString(len));
+        }
+        byte[] result = new byte[len];
+        in.readFully(result, 0, len);
+        return result;
+    }
+
+    /**
+     * Read byte-array written with a WritableableUtils.vint prefix.
+     * IOException is converted to a RuntimeException.
+     *
+     * @param in Input to read from.
+     * @return byte array read off <code>in</code>
+     */
+    public static byte[] readByteArrayThrowsRuntime(final DataInput in) {
+        try {
+            return readByteArray(in);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * Write byte-array with a WritableableUtils.vint prefix.
+     *
+     * @param out output stream to be written to
+     * @param b   array to write
+     * @throws IOException e
+     */
+    public static void writeByteArray(final DataOutput out, final byte[] b)
+            throws IOException {
+        if (b == null) {
+            WritableUtils.writeVInt(out, 0);
+        } else {
+            writeByteArray(out, b, 0, b.length);
+        }
+    }
+
+    /**
+     * Write byte-array to out with a vint length prefix.
+     *
+     * @param out    output stream
+     * @param b      array
+     * @param offset offset into array
+     * @param length length past offset
+     * @throws IOException e
+     */
+    public static void writeByteArray(final DataOutput out, final byte[] b,
+                                      final int offset, final int length)
+            throws IOException {
+        WritableUtils.writeVInt(out, length);
+        out.write(b, offset, length);
+    }
+
+    /**
+     * Write byte-array from src to tgt with a vint length prefix.
+     *
+     * @param tgt       target array
+     * @param tgtOffset offset into target array
+     * @param src       source array
+     * @param srcOffset source offset
+     * @param srcLength source length
+     * @return New offset in src array.
+     */
+    public static int writeByteArray(final byte[] tgt, final int tgtOffset,
+                                     final byte[] src, final int srcOffset, final int srcLength) {
+        byte[] vint = vintToBytes(srcLength);
+        System.arraycopy(vint, 0, tgt, tgtOffset, vint.length);
+        int offset = tgtOffset + vint.length;
+        System.arraycopy(src, srcOffset, tgt, offset, srcLength);
+        return offset + srcLength;
+    }
+
+    /**
+     * Put bytes at the specified byte array position.
+     *
+     * @param tgtBytes  the byte array
+     * @param tgtOffset position in the array
+     * @param srcBytes  array to write out
+     * @param srcOffset source offset
+     * @param srcLength source length
+     * @return incremented offset
+     */
+    public static int putBytes(byte[] tgtBytes, int tgtOffset, byte[] srcBytes,
+                               int srcOffset, int srcLength) {
+        System.arraycopy(srcBytes, srcOffset, tgtBytes, tgtOffset, srcLength);
+        return tgtOffset + srcLength;
+    }
+
+    /**
+     * Write a single byte out to the specified byte array position.
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param b      byte to write out
+     * @return incremented offset
+     */
+    public static int putByte(byte[] bytes, int offset, byte b) {
+        bytes[offset] = b;
+        return offset + 1;
+    }
+
+    /**
+     * Add the whole content of the ByteBuffer to the bytes arrays. The ByteBuffer is modified.
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param buf    ByteBuffer to write out
+     * @return incremented offset
+     */
+    public static int putByteBuffer(byte[] bytes, int offset, ByteBuffer buf) {
+        int len = buf.remaining();
+        buf.get(bytes, offset, len);
+        return offset + len;
+    }
+
+    /**
+     * Returns a new byte array, copied from the given {@code buf},
+     * from the index 0 (inclusive) to the limit (exclusive),
+     * regardless of the current position.
+     * The position and the other index parameters are not changed.
+     *
+     * @param buf a byte buffer
+     * @return the byte array
+     * @see #getBytes(ByteBuffer)
+     */
+    public static byte[] toBytes(ByteBuffer buf) {
+        ByteBuffer dup = buf.duplicate();
+        dup.position(0);
+        return readBytes(dup);
+    }
+
+    private static byte[] readBytes(ByteBuffer buf) {
+        byte[] result = new byte[buf.remaining()];
+        buf.get(result);
+        return result;
+    }
+
+    /**
+     * @param b Presumed UTF-8 encoded byte array.
+     * @return String made from <code>b</code>
+     */
+    public static String toString(final byte[] b) {
+        if (b == null) {
+            return null;
+        }
+        return toString(b, 0, b.length);
+    }
+
+    /**
+     * Joins two byte arrays together using a separator.
+     *
+     * @param b1  The first byte array.
+     * @param sep The separator to use.
+     * @param b2  The second byte array.
+     */
+    public static String toString(final byte[] b1,
+                                  String sep,
+                                  final byte[] b2) {
+        return toString(b1, 0, b1.length) + sep + toString(b2, 0, b2.length);
+    }
+
+    /**
+     * This method will convert utf8 encoded bytes into a string. If
+     * the given byte array is null, this method will return null.
+     *
+     * @param b   Presumed UTF-8 encoded byte array.
+     * @param off offset into array
+     * @param len length of utf-8 sequence
+     * @return String made from <code>b</code> or null
+     */
+    public static String toString(final byte[] b, int off, int len) {
+        if (b == null) {
+            return null;
+        }
+        if (len == 0) {
+            return "";
+        }
+        return new String(b, off, len, UTF8_CHARSET);
+    }
+
+    /**
+     * Write a printable representation of a byte array.
+     *
+     * @param b byte array
+     * @return string
+     * @see #toStringBinary(byte[], int, int)
+     */
+    public static String toStringBinary(final byte[] b) {
+        if (b == null)
+            return "null";
+        return toStringBinary(b, 0, b.length);
+    }
+
+    /**
+     * Converts the given byte buffer to a printable representation,
+     * from the index 0 (inclusive) to the limit (exclusive),
+     * regardless of the current position.
+     * The position and the other index parameters are not changed.
+     *
+     * @param buf a byte buffer
+     * @return a string representation of the buffer's binary contents
+     * @see #toBytes(ByteBuffer)
+     * @see #getBytes(ByteBuffer)
+     */
+    public static String toStringBinary(ByteBuffer buf) {
+        if (buf == null)
+            return "null";
+        if (buf.hasArray()) {
+            return toStringBinary(buf.array(), buf.arrayOffset(), buf.limit());
+        }
+        return toStringBinary(toBytes(buf));
+    }
+
+    /**
+     * Write a printable representation of a byte array. Non-printable
+     * characters are hex escaped in the format \\x%02X, eg:
+     * \x00 \x05 etc
+     *
+     * @param b   array to write out
+     * @param off offset to start at
+     * @param len length to write
+     * @return string output
+     */
+    public static String toStringBinary(final byte[] b, int off, int len) {
+        StringBuilder result = new StringBuilder();
+        // Just in case we are passed a 'len' that is > buffer length...
+        if (off >= b.length) return result.toString();
+        if (off + len > b.length) len = b.length - off;
+        for (int i = off; i < off + len; ++i) {
+            int ch = b[i] & 0xFF;
+            if ((ch >= '0' && ch <= '9')
+                    || (ch >= 'A' && ch <= 'Z')
+                    || (ch >= 'a' && ch <= 'z')
+                    || " `~!@#$%^&*()-_=+[]{}|;:'\",.<>/?".indexOf(ch) >= 0) {
+                result.append((char) ch);
+            } else {
+                result.append(String.format("\\x%02X", ch));
+            }
+        }
+        return result.toString();
+    }
+
+    private static boolean isHexDigit(char c) {
+        return
+                (c >= 'A' && c <= 'F') ||
+                        (c >= '0' && c <= '9');
+    }
+
+    /**
+     * Takes a ASCII digit in the range A-F0-9 and returns
+     * the corresponding integer/ordinal value.
+     *
+     * @param ch The hex digit.
+     * @return The converted hex value as a byte.
+     */
+    public static byte toBinaryFromHex(byte ch) {
+        if (ch >= 'A' && ch <= 'F')
+            return (byte) ((byte) 10 + (byte) (ch - 'A'));
+        // else
+        return (byte) (ch - '0');
+    }
+
+    public static byte[] toBytesBinary(String in) {
+        // this may be bigger than we need, but let's be safe.
+        byte[] b = new byte[in.length()];
+        int size = 0;
+        for (int i = 0; i < in.length(); ++i) {
+            char ch = in.charAt(i);
+            if (ch == '\\' && in.length() > i + 1 && in.charAt(i + 1) == 'x') {
+                // ok, take next 2 hex digits.
+                char hd1 = in.charAt(i + 2);
+                char hd2 = in.charAt(i + 3);
+
+                // they need to be A-F0-9:
+                if (!isHexDigit(hd1) ||
+                        !isHexDigit(hd2)) {
+                    // bogus escape code, ignore:
+                    continue;
+                }
+                // turn hex ASCII digit -> number
+                byte d = (byte) ((toBinaryFromHex((byte) hd1) << 4) + toBinaryFromHex((byte) hd2));
+
+                b[size++] = d;
+                i += 3; // skip 3
+            } else {
+                b[size++] = (byte) ch;
+            }
+        }
+        // resize:
+        byte[] b2 = new byte[size];
+        System.arraycopy(b, 0, b2, 0, size);
+        return b2;
+    }
+
+    /**
+     * Converts a string to a UTF-8 byte array.
+     *
+     * @param s string
+     * @return the byte array
+     */
+    public static byte[] toBytes(String s) {
+        return s.getBytes(UTF8_CHARSET);
+    }
+
+    /**
+     * Convert a boolean to a byte array. True becomes -1
+     * and false becomes 0.
+     *
+     * @param b value
+     * @return <code>b</code> encoded in a byte array.
+     */
+    public static byte[] toBytes(final boolean b) {
+        return new byte[]{b ? (byte) -1 : (byte) 0};
+    }
+
+    /**
+     * Reverses {@link #toBytes(boolean)}
+     *
+     * @param b array
+     * @return True or false.
+     */
+    public static boolean toBoolean(final byte[] b) {
+        if (b.length != 1) {
+            throw new IllegalArgumentException("Array has wrong size: " + b.length);
+        }
+        return b[0] != (byte) 0;
+    }
+
+    /**
+     * Convert a long value to a byte array using big-endian.
+     *
+     * @param val value to convert
+     * @return the byte array
+     */
+    public static byte[] toBytes(long val) {
+        byte[] b = new byte[8];
+        for (int i = 7; i > 0; i--) {
+            b[i] = (byte) val;
+            val >>>= 8;
+        }
+        b[0] = (byte) val;
+        return b;
+    }
+
+    /**
+     * Converts a byte array to a long value. Reverses
+     * {@link #toBytes(long)}
+     *
+     * @param bytes array
+     * @return the long value
+     */
+    public static long toLong(byte[] bytes) {
+        return toLong(bytes, 0, SIZEOF_LONG);
+    }
+
+    /**
+     * Converts a byte array to a long value. Assumes there will be
+     * {@link #SIZEOF_LONG} bytes available.
+     *
+     * @param bytes  bytes
+     * @param offset offset
+     * @return the long value
+     */
+    public static long toLong(byte[] bytes, int offset) {
+        return toLong(bytes, offset, SIZEOF_LONG);
+    }
+
+    /**
+     * Converts a byte array to a long value.
+     *
+     * @param bytes  array of bytes
+     * @param offset offset into array
+     * @param length length of data (must be {@link #SIZEOF_LONG})
+     * @return the long value
+     * @throws IllegalArgumentException if length is not {@link #SIZEOF_LONG} or
+     *                                  if there's not enough room in the array at the offset indicated.
+     */
+    public static long toLong(byte[] bytes, int offset, final int length) {
+        if (length != SIZEOF_LONG || offset + length > bytes.length) {
+            throw explainWrongLengthOrOffset(bytes, offset, length, SIZEOF_LONG);
+        }
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.isAvailable()) {
+            return toLongUnsafe(bytes, offset);
+        } else {
+            long l = 0;
+            for (int i = offset; i < offset + length; i++) {
+                l <<= 8;
+                l ^= bytes[i] & 0xFF;
+            }
+            return l;
+        }
+    }
+
+    private static IllegalArgumentException
+    explainWrongLengthOrOffset(final byte[] bytes,
+                               final int offset,
+                               final int length,
+                               final int expectedLength) {
+        String reason;
+        if (length != expectedLength) {
+            reason = "Wrong length: " + length + ", expected " + expectedLength;
+        } else {
+            reason = "offset (" + offset + ") + length (" + length + ") exceed the"
+                    + " capacity of the array: " + bytes.length;
+        }
+        return new IllegalArgumentException(reason);
+    }
+
+    /**
+     * Put a long value out to the specified byte array position.
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param val    long to write out
+     * @return incremented offset
+     * @throws IllegalArgumentException if the byte array given doesn't have
+     *                                  enough room at the offset specified.
+     */
+    public static int putLong(byte[] bytes, int offset, long val) {
+        if (bytes.length - offset < SIZEOF_LONG) {
+            throw new IllegalArgumentException("Not enough room to put a long at"
+                    + " offset " + offset + " in a " + bytes.length + " byte array");
+        }
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.isAvailable()) {
+            return putLongUnsafe(bytes, offset, val);
+        } else {
+            for (int i = offset + 7; i > offset; i--) {
+                bytes[i] = (byte) val;
+                val >>>= 8;
+            }
+            bytes[offset] = (byte) val;
+            return offset + SIZEOF_LONG;
+        }
+    }
+
+    /**
+     * Put a long value out to the specified byte array position (Unsafe).
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param val    long to write out
+     * @return incremented offset
+     */
+    public static int putLongUnsafe(byte[] bytes, int offset, long val) {
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.littleEndian) {
+            val = Long.reverseBytes(val);
+        }
+        org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.putLong(bytes, (long) offset +
+                org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET, val);
+        return offset + SIZEOF_LONG;
+    }
+
+    /**
+     * Presumes float encoded as IEEE 754 floating-point "single format"
+     *
+     * @param bytes byte array
+     * @return Float made from passed byte array.
+     */
+    public static float toFloat(byte[] bytes) {
+        return toFloat(bytes, 0);
+    }
+
+    /**
+     * Presumes float encoded as IEEE 754 floating-point "single format"
+     *
+     * @param bytes  array to convert
+     * @param offset offset into array
+     * @return Float made from passed byte array.
+     */
+    public static float toFloat(byte[] bytes, int offset) {
+        return Float.intBitsToFloat(toInt(bytes, offset, SIZEOF_INT));
+    }
+
+    /**
+     * @param bytes  byte array
+     * @param offset offset to write to
+     * @param f      float value
+     * @return New offset in <code>bytes</code>
+     */
+    public static int putFloat(byte[] bytes, int offset, float f) {
+        return putInt(bytes, offset, Float.floatToRawIntBits(f));
+    }
+
+    /**
+     * @param f float value
+     * @return the float represented as byte []
+     */
+    public static byte[] toBytes(final float f) {
+        // Encode it as int
+        return Bytes.toBytes(Float.floatToRawIntBits(f));
+    }
+
+    /**
+     * @param bytes byte array
+     * @return Return double made from passed bytes.
+     */
+    public static double toDouble(final byte[] bytes) {
+        return toDouble(bytes, 0);
+    }
+
+    /**
+     * @param bytes  byte array
+     * @param offset offset where double is
+     * @return Return double made from passed bytes.
+     */
+    public static double toDouble(final byte[] bytes, final int offset) {
+        return Double.longBitsToDouble(toLong(bytes, offset, SIZEOF_LONG));
+    }
+
+    /**
+     * @param bytes  byte array
+     * @param offset offset to write to
+     * @param d      value
+     * @return New offset into array <code>bytes</code>
+     */
+    public static int putDouble(byte[] bytes, int offset, double d) {
+        return putLong(bytes, offset, Double.doubleToLongBits(d));
+    }
+
+    /**
+     * Serialize a double as the IEEE 754 double format output. The resultant
+     * array will be 8 bytes long.
+     *
+     * @param d value
+     * @return the double represented as byte []
+     */
+    public static byte[] toBytes(final double d) {
+        // Encode it as a long
+        return Bytes.toBytes(Double.doubleToRawLongBits(d));
+    }
+
+    /**
+     * Convert an int value to a byte array.  Big-endian.  Same as what DataOutputStream.writeInt
+     * does.
+     *
+     * @param val value
+     * @return the byte array
+     */
+    public static byte[] toBytes(int val) {
+        byte[] b = new byte[4];
+        for (int i = 3; i > 0; i--) {
+            b[i] = (byte) val;
+            val >>>= 8;
+        }
+        b[0] = (byte) val;
+        return b;
+    }
+
+    /**
+     * Converts a byte array to an int value
+     *
+     * @param bytes byte array
+     * @return the int value
+     */
+    public static int toInt(byte[] bytes) {
+        return toInt(bytes, 0, SIZEOF_INT);
+    }
+
+    /**
+     * Converts a byte array to an int value
+     *
+     * @param bytes  byte array
+     * @param offset offset into array
+     * @return the int value
+     */
+    public static int toInt(byte[] bytes, int offset) {
+        return toInt(bytes, offset, SIZEOF_INT);
+    }
+
+    /**
+     * Converts a byte array to an int value
+     *
+     * @param bytes  byte array
+     * @param offset offset into array
+     * @param length length of int (has to be {@link #SIZEOF_INT})
+     * @return the int value
+     * @throws IllegalArgumentException if length is not {@link #SIZEOF_INT} or
+     *                                  if there's not enough room in the array at the offset indicated.
+     */
+    public static int toInt(byte[] bytes, int offset, final int length) {
+        if (length != SIZEOF_INT || offset + length > bytes.length) {
+            throw explainWrongLengthOrOffset(bytes, offset, length, SIZEOF_INT);
+        }
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.isAvailable()) {
+            return toIntUnsafe(bytes, offset);
+        } else {
+            int n = 0;
+            for (int i = offset; i < (offset + length); i++) {
+                n <<= 8;
+                n ^= bytes[i] & 0xFF;
+            }
+            return n;
+        }
+    }
+
+    /**
+     * Converts a byte array to an int value (Unsafe version)
+     *
+     * @param bytes  byte array
+     * @param offset offset into array
+     * @return the int value
+     */
+    public static int toIntUnsafe(byte[] bytes, int offset) {
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.littleEndian) {
+            return Integer.reverseBytes(org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.getInt(bytes,
+                    (long) offset + org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET));
+        } else {
+            return org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.getInt(bytes,
+                    (long) offset + org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET);
+        }
+    }
+
+    /**
+     * Converts a byte array to an short value (Unsafe version)
+     *
+     * @param bytes  byte array
+     * @param offset offset into array
+     * @return the short value
+     */
+    public static short toShortUnsafe(byte[] bytes, int offset) {
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.littleEndian) {
+            return Short.reverseBytes(org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.getShort(bytes,
+                    (long) offset + org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET));
+        } else {
+            return org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.getShort(bytes,
+                    (long) offset + org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET);
+        }
+    }
+
+    /**
+     * Converts a byte array to an long value (Unsafe version)
+     *
+     * @param bytes  byte array
+     * @param offset offset into array
+     * @return the long value
+     */
+    public static long toLongUnsafe(byte[] bytes, int offset) {
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.littleEndian) {
+            return Long.reverseBytes(org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.getLong(bytes,
+                    (long) offset + org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET));
+        } else {
+            return org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.getLong(bytes,
+                    (long) offset + org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET);
+        }
+    }
+
+    /**
+     * Converts a byte array to an int value
+     *
+     * @param bytes  byte array
+     * @param offset offset into array
+     * @param length how many bytes should be considered for creating int
+     * @return the int value
+     * @throws IllegalArgumentException if there's not enough room in the array at the offset
+     *                                  indicated.
+     */
+    public static int readAsInt(byte[] bytes, int offset, final int length) {
+        if (offset + length > bytes.length) {
+            throw new IllegalArgumentException("offset (" + offset + ") + length (" + length
+                    + ") exceed the" + " capacity of the array: " + bytes.length);
+        }
+        int n = 0;
+        for (int i = offset; i < (offset + length); i++) {
+            n <<= 8;
+            n ^= bytes[i] & 0xFF;
+        }
+        return n;
+    }
+
+    /**
+     * Put an int value out to the specified byte array position.
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param val    int to write out
+     * @return incremented offset
+     * @throws IllegalArgumentException if the byte array given doesn't have
+     *                                  enough room at the offset specified.
+     */
+    public static int putInt(byte[] bytes, int offset, int val) {
+        if (bytes.length - offset < SIZEOF_INT) {
+            throw new IllegalArgumentException("Not enough room to put an int at"
+                    + " offset " + offset + " in a " + bytes.length + " byte array");
+        }
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.isAvailable()) {
+            return putIntUnsafe(bytes, offset, val);
+        } else {
+            for (int i = offset + 3; i > offset; i--) {
+                bytes[i] = (byte) val;
+                val >>>= 8;
+            }
+            bytes[offset] = (byte) val;
+            return offset + SIZEOF_INT;
+        }
+    }
+
+    /**
+     * Put an int value out to the specified byte array position (Unsafe).
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param val    int to write out
+     * @return incremented offset
+     */
+    public static int putIntUnsafe(byte[] bytes, int offset, int val) {
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.littleEndian) {
+            val = Integer.reverseBytes(val);
+        }
+        org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.putInt(bytes, (long) offset +
+                org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET, val);
+        return offset + SIZEOF_INT;
+    }
+
+    /**
+     * Convert a short value to a byte array of {@link #SIZEOF_SHORT} bytes long.
+     *
+     * @param val value
+     * @return the byte array
+     */
+    public static byte[] toBytes(short val) {
+        byte[] b = new byte[SIZEOF_SHORT];
+        b[1] = (byte) val;
+        val >>= 8;
+        b[0] = (byte) val;
+        return b;
+    }
+
+    /**
+     * Converts a byte array to a short value
+     *
+     * @param bytes byte array
+     * @return the short value
+     */
+    public static short toShort(byte[] bytes) {
+        return toShort(bytes, 0, SIZEOF_SHORT);
+    }
+
+    /**
+     * Converts a byte array to a short value
+     *
+     * @param bytes  byte array
+     * @param offset offset into array
+     * @return the short value
+     */
+    public static short toShort(byte[] bytes, int offset) {
+        return toShort(bytes, offset, SIZEOF_SHORT);
+    }
+
+    /**
+     * Converts a byte array to a short value
+     *
+     * @param bytes  byte array
+     * @param offset offset into array
+     * @param length length, has to be {@link #SIZEOF_SHORT}
+     * @return the short value
+     * @throws IllegalArgumentException if length is not {@link #SIZEOF_SHORT}
+     *                                  or if there's not enough room in the array at the offset indicated.
+     */
+    public static short toShort(byte[] bytes, int offset, final int length) {
+        if (length != SIZEOF_SHORT || offset + length > bytes.length) {
+            throw explainWrongLengthOrOffset(bytes, offset, length, SIZEOF_SHORT);
+        }
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.isAvailable()) {
+            return toShortUnsafe(bytes, offset);
+        } else {
+            short n = 0;
+            n ^= bytes[offset] & 0xFF;
+            n <<= 8;
+            n ^= bytes[offset + 1] & 0xFF;
+            return n;
+        }
+    }
+
+    /**
+     * Returns a new byte array, copied from the given {@code buf},
+     * from the position (inclusive) to the limit (exclusive).
+     * The position and the other index parameters are not changed.
+     *
+     * @param buf a byte buffer
+     * @return the byte array
+     * @see #toBytes(ByteBuffer)
+     */
+    public static byte[] getBytes(ByteBuffer buf) {
+        return readBytes(buf.duplicate());
+    }
+
+    /**
+     * Put a short value out to the specified byte array position.
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param val    short to write out
+     * @return incremented offset
+     * @throws IllegalArgumentException if the byte array given doesn't have
+     *                                  enough room at the offset specified.
+     */
+    public static int putShort(byte[] bytes, int offset, short val) {
+        if (bytes.length - offset < SIZEOF_SHORT) {
+            throw new IllegalArgumentException("Not enough room to put a short at"
+                    + " offset " + offset + " in a " + bytes.length + " byte array");
+        }
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.isAvailable()) {
+            return putShortUnsafe(bytes, offset, val);
+        } else {
+            bytes[offset + 1] = (byte) val;
+            val >>= 8;
+            bytes[offset] = (byte) val;
+            return offset + SIZEOF_SHORT;
+        }
+    }
+
+    /**
+     * Put a short value out to the specified byte array position (Unsafe).
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param val    short to write out
+     * @return incremented offset
+     */
+    public static int putShortUnsafe(byte[] bytes, int offset, short val) {
+        if (org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.littleEndian) {
+            val = Short.reverseBytes(val);
+        }
+        org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.theUnsafe.putShort(bytes, (long) offset +
+                org.apache.kylin.common.util.Bytes.LexicographicalComparerHolder.UnsafeComparer.BYTE_ARRAY_BASE_OFFSET, val);
+        return offset + SIZEOF_SHORT;
+    }
+
+    /**
+     * Put an int value as short out to the specified byte array position. Only the lower 2 bytes of
+     * the short will be put into the array. The caller of the API need to make sure they will not
+     * loose the value by doing so. This is useful to store an unsigned short which is represented as
+     * int in other parts.
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param val    value to write out
+     * @return incremented offset
+     * @throws IllegalArgumentException if the byte array given doesn't have
+     *                                  enough room at the offset specified.
+     */
+    public static int putAsShort(byte[] bytes, int offset, int val) {
+        if (bytes.length - offset < SIZEOF_SHORT) {
+            throw new IllegalArgumentException("Not enough room to put a short at"
+                    + " offset " + offset + " in a " + bytes.length + " byte array");
+        }
+        bytes[offset + 1] = (byte) val;
+        val >>= 8;
+        bytes[offset] = (byte) val;
+        return offset + SIZEOF_SHORT;
+    }
+
+    /**
+     * Convert a BigDecimal value to a byte array
+     *
+     * @param val
+     * @return the byte array
+     */
+    public static byte[] toBytes(BigDecimal val) {
+        byte[] valueBytes = val.unscaledValue().toByteArray();
+        byte[] result = new byte[valueBytes.length + SIZEOF_INT];
+        int offset = putInt(result, 0, val.scale());
+        putBytes(result, offset, valueBytes, 0, valueBytes.length);
+        return result;
+    }
+
+
+    /**
+     * Converts a byte array to a BigDecimal
+     *
+     * @param bytes
+     * @return the char value
+     */
+    public static BigDecimal toBigDecimal(byte[] bytes) {
+        return toBigDecimal(bytes, 0, bytes.length);
+    }
+
+    /**
+     * Converts a byte array to a BigDecimal value
+     *
+     * @param bytes
+     * @param offset
+     * @param length
+     * @return the char value
+     */
+    public static BigDecimal toBigDecimal(byte[] bytes, int offset, final int length) {
+        if (bytes == null || length < SIZEOF_INT + 1 ||
+                (offset + length > bytes.length)) {
+            return null;
+        }
+
+        int scale = toInt(bytes, offset);
+        byte[] tcBytes = new byte[length - SIZEOF_INT];
+        System.arraycopy(bytes, offset + SIZEOF_INT, tcBytes, 0, length - SIZEOF_INT);
+        return new BigDecimal(new BigInteger(tcBytes), scale);
+    }
+
+    /**
+     * Put a BigDecimal value out to the specified byte array position.
+     *
+     * @param bytes  the byte array
+     * @param offset position in the array
+     * @param val    BigDecimal to write out
+     * @return incremented offset
+     */
+    public static int putBigDecimal(byte[] bytes, int offset, BigDecimal val) {
+        if (bytes == null) {
+            return offset;
+        }
+
+        byte[] valueBytes = val.unscaledValue().toByteArray();
+        byte[] result = new byte[valueBytes.length + SIZEOF_INT];
+        offset = putInt(result, offset, val.scale());
+        return putBytes(result, offset, valueBytes, 0, valueBytes.length);
+    }
+
+    /**
+     * @param vint Integer to make a vint of.
+     * @return Vint as bytes array.
+     */
+    public static byte[] vintToBytes(final long vint) {
+        long i = vint;
+        int size = WritableUtils.getVIntSize(i);
+        byte[] result = new byte[size];
+        int offset = 0;
+        if (i >= -112 && i <= 127) {
+            result[offset] = (byte) i;
+            return result;
+        }
+
+        int len = -112;
+        if (i < 0) {
+            i ^= -1L; // take one's complement'
+            len = -120;
+        }
+
+        long tmp = i;
+        while (tmp != 0) {
+            tmp = tmp >> 8;
+            len--;
+        }
+
+        result[offset++] = (byte) len;
+
+        len = (len < -120) ? -(len + 120) : -(len + 112);
+
+        for (int idx = len; idx != 0; idx--) {
+            int shiftbits = (idx - 1) * 8;
+            long mask = 0xFFL << shiftbits;
+            result[offset++] = (byte) ((i & mask) >> shiftbits);
+        }
+        return result;
+    }
+
+    /**
+     * @param buffer buffer to convert
+     * @return vint bytes as an integer.
+     */
+    public static long bytesToVint(final byte[] buffer) {
+        int offset = 0;
+        byte firstByte = buffer[offset++];
+        int len = WritableUtils.decodeVIntSize(firstByte);
+        if (len == 1) {
+            return firstByte;
+        }
+        long i = 0;
+        for (int idx = 0; idx < len - 1; idx++) {
+            byte b = buffer[offset++];
+            i = i << 8;
+            i = i | (b & 0xFF);
+        }
+        return (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);
+    }
+
+    /**
+     * Reads a zero-compressed encoded long from input stream and returns it.
+     *
+     * @param buffer Binary array
+     * @param offset Offset into array at which vint begins.
+     * @return deserialized long from stream.
+     * @throws java.io.IOException e
+     */
+    public static long readVLong(final byte[] buffer, final int offset)
+            throws IOException {
+        byte firstByte = buffer[offset];
+        int len = WritableUtils.decodeVIntSize(firstByte);
+        if (len == 1) {
+            return firstByte;
+        }
+        long i = 0;
+        for (int idx = 0; idx < len - 1; idx++) {
+            byte b = buffer[offset + 1 + idx];
+            i = i << 8;
+            i = i | (b & 0xFF);
+        }
+        return (WritableUtils.isNegativeVInt(firstByte) ? ~i : i);
+    }
+
+    /**
+     * @param left  left operand
+     * @param right right operand
+     * @return 0 if equal, < 0 if left is less than right, etc.
+     */
+    public static int compareTo(final byte[] left, final byte[] right) {
+        return LexicographicalComparerHolder.BEST_COMPARER.
+                compareTo(left, 0, left.length, right, 0, right.length);
+    }
+
+    /**
+     * Lexicographically compare two arrays.
+     *
+     * @param buffer1 left operand
+     * @param buffer2 right operand
+     * @param offset1 Where to start comparing in the left buffer
+     * @param offset2 Where to start comparing in the right buffer
+     * @param length1 How much to compare from the left buffer
+     * @param length2 How much to compare from the right buffer
+     * @return 0 if equal, < 0 if left is less than right, etc.
+     */
+    public static int compareTo(byte[] buffer1, int offset1, int length1,
+                                byte[] buffer2, int offset2, int length2) {
+        return LexicographicalComparerHolder.BEST_COMPARER.
+                compareTo(buffer1, offset1, length1, buffer2, offset2, length2);
+    }
+
+    interface Comparer<T> {
+        int compareTo(
+                T buffer1, int offset1, int length1, T buffer2, int offset2, int length2
+        );
+    }
+
+    static Comparer<byte[]> lexicographicalComparerJavaImpl() {
+        return LexicographicalComparerHolder.PureJavaComparer.INSTANCE;
+    }
+
+    /**
+     * Provides a lexicographical comparer implementation; either a Java
+     * implementation or a faster implementation based on {@link sun.misc.Unsafe}.
+     * <p/>
+     * <p>Uses reflection to gracefully fall back to the Java implementation if
+     * {@code Unsafe} isn't available.
+     */
+    static class LexicographicalComparerHolder {
+        static final String UNSAFE_COMPARER_NAME =
+                LexicographicalComparerHolder.class.getName() + "$UnsafeComparer";
+
+        static final Comparer<byte[]> BEST_COMPARER = getBestComparer();
+
+        /**
+         * Returns the Unsafe-using Comparer, or falls back to the pure-Java
+         * implementation if unable to do so.
+         */
+        static Comparer<byte[]> getBestComparer() {
+            try {
+                Class<?> theClass = Class.forName(UNSAFE_COMPARER_NAME);
+
+                // yes, UnsafeComparer does implement Comparer<byte[]>
+                @SuppressWarnings("unchecked")
+                Comparer<byte[]> comparer =
+                        (Comparer<byte[]>) theClass.getEnumConstants()[0];
+                return comparer;
+            } catch (Throwable t) { // ensure we really catch *everything*
+                return lexicographicalComparerJavaImpl();
+            }
+        }
+
+        enum PureJavaComparer implements Comparer<byte[]> {
+            INSTANCE;
+
+            @Override
+            public int compareTo(byte[] buffer1, int offset1, int length1,
+                                 byte[] buffer2, int offset2, int length2) {
+                // Short circuit equal case
+                if (buffer1 == buffer2 &&
+                        offset1 == offset2 &&
+                        length1 == length2) {
+                    return 0;
+                }
+                // Bring WritableComparator code local
+                int end1 = offset1 + length1;
+                int end2 = offset2 + length2;
+                for (int i = offset1, j = offset2; i < end1 && j < end2; i++, j++) {
+                    int a = (buffer1[i] & 0xff);
+                    int b = (buffer2[j] & 0xff);
+                    if (a != b) {
+                        return a - b;
+                    }
+                }
+                return length1 - length2;
+            }
+        }
+
+        enum UnsafeComparer implements Comparer<byte[]> {
+            INSTANCE;
+
+            static final Unsafe theUnsafe;
+
+            /**
+             * The offset to the first element in a byte array.
+             */
+            static final int BYTE_ARRAY_BASE_OFFSET;
+
+            static {
+                theUnsafe = (Unsafe) AccessController.doPrivileged(
+                        new PrivilegedAction<Object>() {
+                            @Override
+                            public Object run() {
+                                try {
+                                    Field f = Unsafe.class.getDeclaredField("theUnsafe");
+                                    f.setAccessible(true);
+                                    return f.get(null);
+                                } catch (NoSuchFieldException e) {
+                                    // It doesn't matter what we throw;
+                                    // it's swallowed in getBestComparer().
+                                    throw new Error();
+                                } catch (IllegalAccessException e) {
+                                    throw new Error();
+                                }
+                            }
+                        });
+
+                BYTE_ARRAY_BASE_OFFSET = theUnsafe.arrayBaseOffset(byte[].class);
+
+                // sanity check - this should never fail
+                if (theUnsafe.arrayIndexScale(byte[].class) != 1) {
+                    throw new AssertionError();
+                }
+            }
+
+            static final boolean littleEndian =
+                    ByteOrder.nativeOrder().equals(ByteOrder.LITTLE_ENDIAN);
+
+            /**
+             * Returns true if x1 is less than x2, when both values are treated as
+             * unsigned long.
+             */
+            static boolean lessThanUnsignedLong(long x1, long x2) {
+                return (x1 + Long.MIN_VALUE) < (x2 + Long.MIN_VALUE);
+            }
+
+            /**
+             * Returns true if x1 is less than x2, when both values are treated as
+             * unsigned int.
+             */
+            static boolean lessThanUnsignedInt(int x1, int x2) {
+                return (x1 & 0xffffffffL) < (x2 & 0xffffffffL);
+            }
+
+            /**
+             * Returns true if x1 is less than x2, when both values are treated as
+             * unsigned short.
+             */
+            static boolean lessThanUnsignedShort(short x1, short x2) {
+                return (x1 & 0xffff) < (x2 & 0xffff);
+            }
+
+            /**
+             * Checks if Unsafe is available
+             *
+             * @return true, if available, false - otherwise
+             */
+            public static boolean isAvailable() {
+                return theUnsafe != null;
+            }
+
+            /**
+             * Lexicographically compare two arrays.
+             *
+             * @param buffer1 left operand
+             * @param buffer2 right operand
+             * @param offset1 Where to start comparing in the left buffer
+             * @param offset2 Where to start comparing in the right buffer
+             * @param length1 How much to compare from the left buffer
+             * @param length2 How much to compare from the right buffer
+             * @return 0 if equal, < 0 if left is less than right, etc.
+             */
+            @Override
+            public int compareTo(byte[] buffer1, int offset1, int length1,
+                                 byte[] buffer2, int offset2, int length2) {
+
+                // Short circuit equal case
+                if (buffer1 == buffer2 &&
+                        offset1 == offset2 &&
+                        length1 == length2) {
+                    return 0;
+                }
+                final int minLength = Math.min(length1, length2);
+                final int minWords = minLength / SIZEOF_LONG;
+                final long offset1Adj = offset1 + BYTE_ARRAY_BASE_OFFSET;
+                final long offset2Adj = offset2 + BYTE_ARRAY_BASE_OFFSET;
+
+        /*
+         * Compare 8 bytes at a time. Benchmarking shows comparing 8 bytes at a
+         * time is no slower than comparing 4 bytes at a time even on 32-bit.
+         * On the other hand, it is substantially faster on 64-bit.
+         */
+                for (int i = 0; i < minWords * SIZEOF_LONG; i += SIZEOF_LONG) {
+                    long lw = theUnsafe.getLong(buffer1, offset1Adj + (long) i);
+                    long rw = theUnsafe.getLong(buffer2, offset2Adj + (long) i);
+                    long diff = lw ^ rw;
+                    if (littleEndian) {
+                        lw = Long.reverseBytes(lw);
+                        rw = Long.reverseBytes(rw);
+                    }
+                    if (diff != 0) {
+                        return lessThanUnsignedLong(lw, rw) ? -1 : 1;
+                    }
+                }
+                int offset = minWords * SIZEOF_LONG;
+
+                if (minLength - offset >= SIZEOF_INT) {
+                    int il = theUnsafe.getInt(buffer1, offset1Adj + offset);
+                    int ir = theUnsafe.getInt(buffer2, offset2Adj + offset);
+                    if (littleEndian) {
+                        il = Integer.reverseBytes(il);
+                        ir = Integer.reverseBytes(ir);
+                    }
+                    if (il != ir) {
+                        return lessThanUnsignedInt(il, ir) ? -1 : 1;
+                    }
+                    offset += SIZEOF_INT;
+                }
+                if (minLength - offset >= SIZEOF_SHORT) {
+                    short sl = theUnsafe.getShort(buffer1, offset1Adj + offset);
+                    short sr = theUnsafe.getShort(buffer2, offset2Adj + offset);
+                    if (littleEndian) {
+                        sl = Short.reverseBytes(sl);
+                        sr = Short.reverseBytes(sr);
+                    }
+                    if (sl != sr) {
+                        return lessThanUnsignedShort(sl, sr) ? -1 : 1;
+                    }
+                    offset += SIZEOF_SHORT;
+                }
+                if (minLength - offset == 1) {
+                    int a = (buffer1[(int) (offset1 + offset)] & 0xff);
+                    int b = (buffer2[(int) (offset2 + offset)] & 0xff);
+                    if (a != b) {
+                        return a - b;
+                    }
+                }
+                return length1 - length2;
+            }
+        }
+    }
+
+    /**
+     * @param left  left operand
+     * @param right right operand
+     * @return True if equal
+     */
+    public static boolean equals(final byte[] left, final byte[] right) {
+        // Could use Arrays.equals?
+        //noinspection SimplifiableConditionalExpression
+        if (left == right) return true;
+        if (left == null || right == null) return false;
+        if (left.length != right.length) return false;
+        if (left.length == 0) return true;
+
+        // Since we're often comparing adjacent sorted data,
+        // it's usual to have equal arrays except for the very last byte
+        // so check that first
+        if (left[left.length - 1] != right[right.length - 1]) return false;
+
+        return compareTo(left, right) == 0;
+    }
+
+    public static boolean equals(final byte[] left, int leftOffset, int leftLen,
+                                 final byte[] right, int rightOffset, int rightLen) {
+        // short circuit case
+        if (left == right &&
+                leftOffset == rightOffset &&
+                leftLen == rightLen) {
+            return true;
+        }
+        // different lengths fast check
+        if (leftLen != rightLen) {
+            return false;
+        }
+        if (leftLen == 0) {
+            return true;
+        }
+
+        // Since we're often comparing adjacent sorted data,
+        // it's usual to have equal arrays except for the very last byte
+        // so check that first
+        if (left[leftOffset + leftLen - 1] != right[rightOffset + rightLen - 1]) return false;
+
+        return LexicographicalComparerHolder.BEST_COMPARER.
+                compareTo(left, leftOffset, leftLen, right, rightOffset, rightLen) == 0;
+    }
+
+
+    /**
+     * @param a   left operand
+     * @param buf right operand
+     * @return True if equal
+     */
+    public static boolean equals(byte[] a, ByteBuffer buf) {
+        if (a == null) return buf == null;
+        if (buf == null) return false;
+        if (a.length != buf.remaining()) return false;
+
+        // Thou shalt not modify the original byte buffer in what should be read only operations.
+        ByteBuffer b = buf.duplicate();
+        for (byte anA : a) {
+            if (anA != b.get()) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+
+    /**
+     * Return true if the byte array on the right is a prefix of the byte
+     * array on the left.
+     */
+    public static boolean startsWith(byte[] bytes, byte[] prefix) {
+        return bytes != null && prefix != null &&
+                bytes.length >= prefix.length &&
+                LexicographicalComparerHolder.BEST_COMPARER.
+                        compareTo(bytes, 0, prefix.length, prefix, 0, prefix.length) == 0;
+    }
+
+    /**
+     * @param b bytes to hash
+     * @return Runs {@link org.apache.hadoop.io.WritableComparator#hashBytes(byte[], int)} on the
+     * passed in array.  This method is what {@link org.apache.hadoop.io.Text} and
+     * {@link org.apache.hadoop.hbase.io.ImmutableBytesWritable} use calculating hash code.
+     */
+    public static int hashCode(final byte[] b) {
+        return hashCode(b, b.length);
+    }
+
+    /**
+     * @param b      value
+     * @param length length of the value
+     * @return Runs {@link org.apache.hadoop.io.WritableComparator#hashBytes(byte[], int)} on the
+     * passed in array.  This method is what {@link org.apache.hadoop.io.Text} and
+     * {@link org.apache.hadoop.hbase.io.ImmutableBytesWritable} use calculating hash code.
+     */
+    public static int hashCode(final byte[] b, final int length) {
+        return WritableComparator.hashBytes(b, length);
+    }
+
+    /**
+     * @param b bytes to hash
+     * @return A hash of <code>b</code> as an Integer that can be used as key in
+     * Maps.
+     */
+    public static Integer mapKey(final byte[] b) {
+        return hashCode(b);
+    }
+
+    /**
+     * @param b      bytes to hash
+     * @param length length to hash
+     * @return A hash of <code>b</code> as an Integer that can be used as key in
+     * Maps.
+     */
+    public static Integer mapKey(final byte[] b, final int length) {
+        return hashCode(b, length);
+    }
+
+    /**
+     * @param a lower half
+     * @param b upper half
+     * @return New array that has a in lower half and b in upper half.
+     */
+    public static byte[] add(final byte[] a, final byte[] b) {
+        return add(a, b, EMPTY_BYTE_ARRAY);
+    }
+
+    /**
+     * @param a first third
+     * @param b second third
+     * @param c third third
+     * @return New array made from a, b and c
+     */
+    public static byte[] add(final byte[] a, final byte[] b, final byte[] c) {
+        byte[] result = new byte[a.length + b.length + c.length];
+        System.arraycopy(a, 0, result, 0, a.length);
+        System.arraycopy(b, 0, result, a.length, b.length);
+        System.arraycopy(c, 0, result, a.length + b.length, c.length);
+        return result;
+    }
+
+    /**
+     * @param a      array
+     * @param length amount of bytes to grab
+     * @return First <code>length</code> bytes from <code>a</code>
+     */
+    public static byte[] head(final byte[] a, final int length) {
+        if (a.length < length) {
+            return null;
+        }
+        byte[] result = new byte[length];
+        System.arraycopy(a, 0, result, 0, length);
+        return result;
+    }
+
+    /**
+     * @param a      array
+     * @param length amount of bytes to snarf
+     * @return Last <code>length</code> bytes from <code>a</code>
+     */
+    public static byte[] tail(final byte[] a, final int length) {
+        if (a.length < length) {
+            return null;
+        }
+        byte[] result = new byte[length];
+        System.arraycopy(a, a.length - length, result, 0, length);
+        return result;
+    }
+
+    /**
+     * @param a      array
+     * @param length new array size
+     * @return Value in <code>a</code> plus <code>length</code> prepended 0 bytes
+     */
+    public static byte[] padHead(final byte[] a, final int length) {
+        byte[] padding = new byte[length];
+        for (int i = 0; i < length; i++) {
+            padding[i] = 0;
+        }
+        return add(padding, a);
+    }
+
+    /**
+     * @param a      array
+     * @param length new array size
+     * @return Value in <code>a</code> plus <code>length</code> appended 0 bytes
+     */
+    public static byte[] padTail(final byte[] a, final int length) {
+        byte[] padding = new byte[length];
+        for (int i = 0; i < length; i++) {
+            padding[i] = 0;
+        }
+        return add(a, padding);
+    }
+
+    /**
+     * Split passed range.  Expensive operation relatively.  Uses BigInteger math.
+     * Useful splitting ranges for MapReduce jobs.
+     *
+     * @param a   Beginning of range
+     * @param b   End of range
+     * @param num Number of times to split range.  Pass 1 if you want to split
+     *            the range in two; i.e. one split.
+     * @return Array of dividing values
+     */
+    public static byte[][] split(final byte[] a, final byte[] b, final int num) {
+        return split(a, b, false, num);
+    }
+
+    /**
+     * Split passed range.  Expensive operation relatively.  Uses BigInteger math.
+     * Useful splitting ranges for MapReduce jobs.
+     *
+     * @param a         Beginning of range
+     * @param b         End of range
+     * @param inclusive Whether the end of range is prefix-inclusive or is
+     *                  considered an exclusive boundary.  Automatic splits are generally exclusive
+     *                  and manual splits with an explicit range utilize an inclusive end of range.
+     * @param num       Number of times to split range.  Pass 1 if you want to split
+     *                  the range in two; i.e. one split.
+     * @return Array of dividing values
+     */
+    public static byte[][] split(final byte[] a, final byte[] b,
+                                 boolean inclusive, final int num) {
+        byte[][] ret = new byte[num + 2][];
+        int i = 0;
+        Iterable<byte[]> iter = iterateOnSplits(a, b, inclusive, num);
+        if (iter == null)
+            return null;
+        for (byte[] elem : iter) {
+            ret[i++] = elem;
+        }
+        return ret;
+    }
+
+    /**
+     * Iterate over keys within the passed range, splitting at an [a,b) boundary.
+     */
+    public static Iterable<byte[]> iterateOnSplits(final byte[] a,
+                                                   final byte[] b, final int num) {
+        return iterateOnSplits(a, b, false, num);
+    }
+
+    /**
+     * Iterate over keys within the passed range.
+     */
+    public static Iterable<byte[]> iterateOnSplits(
+            final byte[] a, final byte[] b, boolean inclusive, final int num) {
+        byte[] aPadded;
+        byte[] bPadded;
+        if (a.length < b.length) {
+            aPadded = padTail(a, b.length - a.length);
+            bPadded = b;
+        } else if (b.length < a.length) {
+            aPadded = a;
+            bPadded = padTail(b, a.length - b.length);
+        } else {
+            aPadded = a;
+            bPadded = b;
+        }
+        if (compareTo(aPadded, bPadded) >= 0) {
+            throw new IllegalArgumentException("b <= a");
+        }
+        if (num <= 0) {
+            throw new IllegalArgumentException("num cannot be <= 0");
+        }
+        byte[] prependHeader = {1, 0};
+        final BigInteger startBI = new BigInteger(add(prependHeader, aPadded));
+        final BigInteger stopBI = new BigInteger(add(prependHeader, bPadded));
+        BigInteger diffBI = stopBI.subtract(startBI);
+        if (inclusive) {
+            diffBI = diffBI.add(BigInteger.ONE);
+        }
+        final BigInteger splitsBI = BigInteger.valueOf(num + 1);
+        if (diffBI.compareTo(splitsBI) < 0) {
+            return null;
+        }
+        final BigInteger intervalBI;
+        try {
+            intervalBI = diffBI.divide(splitsBI);
+        } catch (Exception e) {
+            LOG.error("Exception caught during division", e);
+            return null;
+        }
+
+        final Iterator<byte[]> iterator = new Iterator<byte[]>() {
+            private int i = -1;
+
+            @Override
+            public boolean hasNext() {
+                return i < num + 1;
+            }
+
+            @Override
+            public byte[] next() {
+                i++;
+                if (i == 0) return a;
+                if (i == num + 1) return b;
+
+                BigInteger curBI = startBI.add(intervalBI.multiply(BigInteger.valueOf(i)));
+                byte[] padded = curBI.toByteArray();
+                if (padded[1] == 0)
+                    padded = tail(padded, padded.length - 2);
+                else
+                    padded = tail(padded, padded.length - 1);
+                return padded;
+            }
+
+            @Override
+            public void remove() {
+                throw new UnsupportedOperationException();
+            }
+
+        };
+
+        return new Iterable<byte[]>() {
+            @Override
+            public Iterator<byte[]> iterator() {
+                return iterator;
+            }
+        };
+    }
+
+    /**
+     * @param bytes  array to hash
+     * @param offset offset to start from
+     * @param length length to hash
+     */
+    public static int hashCode(byte[] bytes, int offset, int length) {
+        int hash = 1;
+        for (int i = offset; i < offset + length; i++)
+            hash = (31 * hash) + (int) bytes[i];
+        return hash;
+    }
+
+    /**
+     * @param t operands
+     * @return Array of byte arrays made from passed array of Text
+     */
+    public static byte[][] toByteArrays(final String[] t) {
+        byte[][] result = new byte[t.length][];
+        for (int i = 0; i < t.length; i++) {
+            result[i] = Bytes.toBytes(t[i]);
+        }
+        return result;
+    }
+
+    /**
+     * @param column operand
+     * @return A byte array of a byte array where first and only entry is
+     * <code>column</code>
+     */
+    public static byte[][] toByteArrays(final String column) {
+        return toByteArrays(toBytes(column));
+    }
+
+    /**
+     * @param column operand
+     * @return A byte array of a byte array where first and only entry is
+     * <code>column</code>
+     */
+    public static byte[][] toByteArrays(final byte[] column) {
+        byte[][] result = new byte[1][];
+        result[0] = column;
+        return result;
+    }
+
+    /**
+     * Binary search for keys in indexes.
+     *
+     * @param arr        array of byte arrays to search for
+     * @param key        the key you want to find
+     * @param offset     the offset in the key you want to find
+     * @param length     the length of the key
+     * @param comparator a comparator to compare.
+     * @return zero-based index of the key, if the key is present in the array.
+     * Otherwise, a value -(i + 1) such that the key is between arr[i -
+     * 1] and arr[i] non-inclusively, where i is in [0, i], if we define
+     * arr[-1] = -Inf and arr[N] = Inf for an N-element array. The above
+     * means that this function can return 2N + 1 different values
+     * ranging from -(N + 1) to N - 1.
+     */
+    public static int binarySearch(byte[][] arr, byte[] key, int offset,
+                                   int length, RawComparator<?> comparator) {
+        int low = 0;
+        int high = arr.length - 1;
+
+        while (low <= high) {
+            int mid = (low + high) >>> 1;
+            // we have to compare in this order, because the comparator order
+            // has special logic when the 'left side' is a special key.
+            int cmp = comparator.compare(key, offset, length,
+                    arr[mid], 0, arr[mid].length);
+            // key lives above the midpoint
+            if (cmp > 0)
+                low = mid + 1;
+                // key lives below the midpoint
+            else if (cmp < 0)
+                high = mid - 1;
+                // BAM. how often does this really happen?
+            else
+                return mid;
+        }
+        return -(low + 1);
+    }
+
+    /**
+     * Bytewise binary increment/deincrement of long contained in byte array
+     * on given amount.
+     *
+     * @param value  - array of bytes containing long (length <= SIZEOF_LONG)
+     * @param amount value will be incremented on (deincremented if negative)
+     * @return array of bytes containing incremented long (length == SIZEOF_LONG)
+     */
+    public static byte[] incrementBytes(byte[] value, long amount) {
+        byte[] val = value;
+        if (val.length < SIZEOF_LONG) {
+            // Hopefully this doesn't happen too often.
+            byte[] newvalue;
+            if (val[0] < 0) {
+                newvalue = new byte[]{-1, -1, -1, -1, -1, -1, -1, -1};
+            } else {
+                newvalue = new byte[SIZEOF_LONG];
+            }
+            System.arraycopy(val, 0, newvalue, newvalue.length - val.length,
+                    val.length);
+            val = newvalue;
+        } else if (val.length > SIZEOF_LONG) {
+            throw new IllegalArgumentException("Increment Bytes - value too big: " +
+                    val.length);
+        }
+        if (amount == 0) return val;
+        if (val[0] < 0) {
+            return binaryIncrementNeg(val, amount);
+        }
+        return binaryIncrementPos(val, amount);
+    }
+
+    /* increment/deincrement for positive value */
+    private static byte[] binaryIncrementPos(byte[] value, long amount) {
+        long amo = amount;
+        int sign = 1;
+        if (amount < 0) {
+            amo = -amount;
+            sign = -1;
+        }
+        for (int i = 0; i < value.length; i++) {
+            int cur = ((int) amo % 256) * sign;
+            amo = (amo >> 8);
+            int val = value[value.length - i - 1] & 0x0ff;
+            int total = val + cur;
+            if (total > 255) {
+                amo += sign;
+                total %= 256;
+            } else if (total < 0) {
+                amo -= sign;
+            }
+            value[value.length - i - 1] = (byte) total;
+            if (amo == 0) return value;
+        }
+        return value;
+    }
+
+    /* increment/deincrement for negative value */
+    private static byte[] binaryIncrementNeg(byte[] value, long amount) {
+        long amo = amount;
+        int sign = 1;
+        if (amount < 0) {
+            amo = -amount;
+            sign = -1;
+        }
+        for (int i = 0; i < value.length; i++) {
+            int cur = ((int) amo % 256) * sign;
+            amo = (amo >> 8);
+            int val = ((~value[value.length - i - 1]) & 0x0ff) + 1;
+            int total = cur - val;
+            if (total >= 0) {
+                amo += sign;
+            } else if (total < -256) {
+                amo -= sign;
+                total %= 256;
+            }
+            value[value.length - i - 1] = (byte) total;
+            if (amo == 0) return value;
+        }
+        return value;
+    }
+
+    /**
+     * Writes a string as a fixed-size field, padded with zeros.
+     */
+    public static void writeStringFixedSize(final DataOutput out, String s,
+                                            int size) throws IOException {
+        byte[] b = toBytes(s);
+        if (b.length > size) {
+            throw new IOException("Trying to write " + b.length + " bytes (" +
+                    toStringBinary(b) + ") into a field of length " + size);
+        }
+
+        out.writeBytes(s);
+        for (int i = 0; i < size - s.length(); ++i)
+            out.writeByte(0);
+    }
+
+    /**
+     * Reads a fixed-size field and interprets it as a string padded with zeros.
+     */
+    public static String readStringFixedSize(final DataInput in, int size)
+            throws IOException {
+        byte[] b = new byte[size];
+        in.readFully(b);
+        int n = b.length;
+        while (n > 0 && b[n - 1] == 0)
+            --n;
+
+        return toString(b, 0, n);
+    }
+
+    /**
+     * Copy the byte array given in parameter and return an instance
+     * of a new byte array with the same length and the same content.
+     *
+     * @param bytes the byte array to duplicate
+     * @return a copy of the given byte array
+     */
+    public static byte[] copy(byte[] bytes) {
+        if (bytes == null) return null;
+        byte[] result = new byte[bytes.length];
+        System.arraycopy(bytes, 0, result, 0, bytes.length);
+        return result;
+    }
+
+    /**
+     * Copy the byte array given in parameter and return an instance
+     * of a new byte array with the same length and the same content.
+     *
+     * @param bytes  the byte array to copy from
+     * @param offset
+     * @param length
+     * @return a copy of the given designated byte array
+     */
+    public static byte[] copy(byte[] bytes, final int offset, final int length) {
+        if (bytes == null) return null;
+        byte[] result = new byte[length];
+        System.arraycopy(bytes, offset, result, 0, length);
+        return result;
+    }
+
+    /**
+     * Search sorted array "a" for byte "key". I can't remember if I wrote this or copied it from
+     * somewhere. (mcorgan)
+     *
+     * @param a         Array to search. Entries must be sorted and unique.
+     * @param fromIndex First index inclusive of "a" to include in the search.
+     * @param toIndex   Last index exclusive of "a" to include in the search.
+     * @param key       The byte to search for.
+     * @return The index of key if found. If not found, return -(index + 1), where negative indicates
+     * "not found" and the "index + 1" handles the "-0" case.
+     */
+    public static int unsignedBinarySearch(byte[] a, int fromIndex, int toIndex, byte key) {
+        int unsignedKey = key & 0xff;
+        int low = fromIndex;
+        int high = toIndex - 1;
+
+        while (low <= high) {
+            int mid = (low + high) >>> 1;
+            int midVal = a[mid] & 0xff;
+
+            if (midVal < unsignedKey) {
+                low = mid + 1;
+            } else if (midVal > unsignedKey) {
+                high = mid - 1;
+            } else {
+                return mid; // key found
+            }
+        }
+        return -(low + 1); // key not found.
+    }
+
+    /**
+     * Treat the byte[] as an unsigned series of bytes, most significant bits first.  Start by adding
+     * 1 to the rightmost bit/byte and carry over all overflows to the more significant bits/bytes.
+     *
+     * @param input The byte[] to increment.
+     * @return The incremented copy of "in".  May be same length or 1 byte longer.
+     */
+    public static byte[] unsignedCopyAndIncrement(final byte[] input) {
+        byte[] copy = copy(input);
+        if (copy == null) {
+            throw new IllegalArgumentException("cannot increment null array");
+        }
+        for (int i = copy.length - 1; i >= 0; --i) {
+            if (copy[i] == -1) {// -1 is all 1-bits, which is the unsigned maximum
+                copy[i] = 0;
+            } else {
+                ++copy[i];
+                return copy;
+            }
+        }
+        // we maxed out the array
+        byte[] out = new byte[copy.length + 1];
+        out[0] = 1;
+        System.arraycopy(copy, 0, out, 1, copy.length);
+        return out;
+    }
+
+    public static boolean equals(List<byte[]> a, List<byte[]> b) {
+        if (a == null) {
+            if (b == null) {
+                return true;
+            }
+            return false;
+        }
+        if (b == null) {
+            return false;
+        }
+        if (a.size() != b.size()) {
+            return false;
+        }
+        for (int i = 0; i < a.size(); ++i) {
+            if (!Bytes.equals(a.get(i), b.get(i))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+
+    /**
+     * Returns the index of the first appearance of the value {@code target} in
+     * {@code array}.
+     *
+     * @param array  an array of {@code byte} values, possibly empty
+     * @param target a primitive {@code byte} value
+     * @return the least index {@code i} for which {@code array[i] == target}, or
+     * {@code -1} if no such index exists.
+     */
+    public static int indexOf(byte[] array, byte target) {
+        for (int i = 0; i < array.length; i++) {
+            if (array[i] == target) {
+                return i;
+            }
+        }
+        return -1;
+    }
+
+    /**
+     * Returns the start position of the first occurrence of the specified {@code
+     * target} within {@code array}, or {@code -1} if there is no such occurrence.
+     * <p/>
+     * <p>More formally, returns the lowest index {@code i} such that {@code
+     * java.util.Arrays.copyOfRange(array, i, i + target.length)} contains exactly
+     * the same elements as {@code target}.
+     *
+     * @param array  the array to search for the sequence {@code target}
+     * @param target the array to search for as a sub-sequence of {@code array}
+     */
+    public static int indexOf(byte[] array, byte[] target) {
+        checkNotNull(array, "array");
+        checkNotNull(target, "target");
+        if (target.length == 0) {
+            return 0;
+        }
+
+        outer:
+        for (int i = 0; i < array.length - target.length + 1; i++) {
+            for (int j = 0; j < target.length; j++) {
+                if (array[i + j] != target[j]) {
+                    continue outer;
+                }
+            }
+            return i;
+        }
+        return -1;
+    }
+
+    /**
+     * @param array  an array of {@code byte} values, possibly empty
+     * @param target a primitive {@code byte} value
+     * @return {@code true} if {@code target} is present as an element anywhere in {@code array}.
+     */
+    public static boolean contains(byte[] array, byte target) {
+        return indexOf(array, target) > -1;
+    }
+
+    /**
+     * @param array  an array of {@code byte} values, possibly empty
+     * @param target an array of {@code byte}
+     * @return {@code true} if {@code target} is present anywhere in {@code array}
+     */
+    public static boolean contains(byte[] array, byte[] target) {
+        return indexOf(array, target) > -1;
+    }
+
+    /**
+     * Fill given array with zeros.
+     *
+     * @param b array which needs to be filled with zeros
+     */
+    public static void zero(byte[] b) {
+        zero(b, 0, b.length);
+    }
+
+    /**
+     * Fill given array with zeros at the specified position.
+     *
+     * @param b
+     * @param offset
+     * @param length
+     */
+    public static void zero(byte[] b, int offset, int length) {
+        checkPositionIndex(offset, b.length, "offset");
+        checkArgument(length > 0, "length must be greater than 0");
+        checkPositionIndex(offset + length, b.length, "offset + length");
+        Arrays.fill(b, offset, offset + length, (byte) 0);
+    }
+
+    private static final SecureRandom RNG = new SecureRandom();
+
+    /**
+     * Fill given array with random bytes.
+     *
+     * @param b array which needs to be filled with random bytes
+     */
+    public static void random(byte[] b) {
+        RNG.nextBytes(b);
+    }
+
+    /**
+     * Fill given array with random bytes at the specified position.
+     *
+     * @param b
+     * @param offset
+     * @param length
+     */
+    public static void random(byte[] b, int offset, int length) {
+        checkPositionIndex(offset, b.length, "offset");
+        checkArgument(length > 0, "length must be greater than 0");
+        checkPositionIndex(offset + length, b.length, "offset + length");
+        byte[] buf = new byte[length];
+        RNG.nextBytes(buf);
+        System.arraycopy(buf, 0, b, offset, length);
+    }
+
+    /**
+     * Create a max byte array with the specified max byte count
+     *
+     * @param maxByteCount the length of returned byte array
+     * @return the created max byte array
+     */
+    public static byte[] createMaxByteArray(int maxByteCount) {
+        byte[] maxByteArray = new byte[maxByteCount];
+        for (int i = 0; i < maxByteArray.length; i++) {
+            maxByteArray[i] = (byte) 0xff;
+        }
+        return maxByteArray;
+    }
+
+    /**
+     * Create a byte array which is multiple given bytes
+     *
+     * @param srcBytes
+     * @param multiNum
+     * @return byte array
+     */
+    public static byte[] multiple(byte[] srcBytes, int multiNum) {
+        if (multiNum <= 0) {
+            return new byte[0];
+        }
+        byte[] result = new byte[srcBytes.length * multiNum];
+        for (int i = 0; i < multiNum; i++) {
+            System.arraycopy(srcBytes, 0, result, i * srcBytes.length,
+                    srcBytes.length);
+        }
+        return result;
+    }
+
+    /**
+     * Convert a byte array into a hex string
+     *
+     * @param b
+     */
+    public static String toHex(byte[] b) {
+        checkArgument(b.length > 0, "length must be greater than 0");
+        return String.format("%x", new BigInteger(1, b));
+    }
+
+    /**
+     * Create a byte array from a string of hash digits. The length of the
+     * string must be a multiple of 2
+     *
+     * @param hex
+     */
+    public static byte[] fromHex(String hex) {
+        checkArgument(hex.length() > 0, "length must be greater than 0");
+        checkArgument(hex.length() % 2 == 0, "length must be a multiple of 2");
+        // Make sure letters are upper case
+        hex = hex.toUpperCase();
+        byte[] b = new byte[hex.length() / 2];
+        for (int i = 0; i < b.length; i++) {
+            b[i] = (byte) ((toBinaryFromHex((byte) hex.charAt(2 * i)) << 4) +
+                    toBinaryFromHex((byte) hex.charAt((2 * i + 1))));
+        }
+        return b;
+    }
+
+}
+



[21/49] incubator-kylin git commit: fix Gruntfile.js issue , unable to compress js

Posted by lu...@apache.org.
fix Gruntfile.js issue ,unable to compress js


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

Branch: refs/heads/0.7.1
Commit: 582e9412200319521add67682e9d754ac8a92890
Parents: 07abda6
Author: jiazhong <ji...@ebay.com>
Authored: Fri May 29 16:25:24 2015 +0800
Committer: jiazhong <ji...@ebay.com>
Committed: Fri May 29 16:25:24 2015 +0800

----------------------------------------------------------------------
 webapp/Gruntfile.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/582e9412/webapp/Gruntfile.js
----------------------------------------------------------------------
diff --git a/webapp/Gruntfile.js b/webapp/Gruntfile.js
index 972616c..64dc859 100644
--- a/webapp/Gruntfile.js
+++ b/webapp/Gruntfile.js
@@ -144,7 +144,7 @@ module.exports = function (grunt) {
         },
         htmlrefs: {
             dist: {
-                src: 'tmp/index.md',
+                src: 'tmp/index.html',
                 dest: 'tmp/'
             },
             options: {
@@ -194,7 +194,7 @@ module.exports = function (grunt) {
                 ]
             },
             manifest: {
-                src: ['tmp/index.md'],
+                src: ['tmp/index.html'],
                 actions: [
                     {
                         name: 'manifest',


[26/49] incubator-kylin git commit: update website content

Posted by lu...@apache.org.
update website content


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

Branch: refs/heads/0.7.1
Commit: 2e857e6b83e4fa8a0dd5ee15260cdc472d4a089e
Parents: ef4de9f
Author: Luke Han <lu...@apache.org>
Authored: Sun May 31 18:24:00 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:12:20 2015 +0800

----------------------------------------------------------------------
 docs/release_notes.md           | 19 ++++++++++++-------
 docs/website/blog/index.md      | 19 -------------------
 docs/website/community/index.md | 19 -------------------
 3 files changed, 12 insertions(+), 45 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2e857e6b/docs/release_notes.md
----------------------------------------------------------------------
diff --git a/docs/release_notes.md b/docs/release_notes.md
index 4d630df..98b9228 100644
--- a/docs/release_notes.md
+++ b/docs/release_notes.md
@@ -16,18 +16,23 @@ limitations under the License.
 -->
 
 # Apache Kylin Release Notes
-----------------------------
 
-## v0.7.1 (First Apache Release)
+## v0.7.1 (First Apache Release) - 2015-05-29
+_Tag:_ [kylin-0.7.1-incubating](https://github.com/apache/incubator-kylin/tree/kylin-0.7.1-incubating)
+
 This is first Apache Kylin release, including many changes after migrated to Apache.
 
-Main Changes:
-* Rename package from com.kylinolap to org.apache.kylin
+__Main Changes:__
 
+* Package renamed from com.kylinolap to org.apache.kylin
+* Binary pacakge avaliable download from: [http://kylin.incubator.apache.org/download](http://kylin.incubator.apache.org/download/)
 
-New Features:
-* ...
 
-Bug Fixes:
+__New Features:__
+
+* [] Extracted Data Model in Cube Designer
+* [] 
+
+__Bug Fixes:__
 * ...
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2e857e6b/docs/website/blog/index.md
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.md b/docs/website/blog/index.md
index 3f772bd..5574ce6 100644
--- a/docs/website/blog/index.md
+++ b/docs/website/blog/index.md
@@ -3,25 +3,6 @@ layout: default
 title: Blog
 ---
 
-<!--
-* 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.
--->
-
-
 <main id="main" >
 <section id="first" class="main">
     <header style="padding:2em 0 4em 0;">

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/2e857e6b/docs/website/community/index.md
----------------------------------------------------------------------
diff --git a/docs/website/community/index.md b/docs/website/community/index.md
index 28b7d00..8d9b11a 100644
--- a/docs/website/community/index.md
+++ b/docs/website/community/index.md
@@ -3,25 +3,6 @@ layout: default
 title: Community
 ---
 
-<!--
-* 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.
--->
-
-
   <main id="main" >
   <div class="container" >
     <div id="zero" class=" main" >


[02/49] incubator-kylin git commit: KYLIN-669 add release notes

Posted by lu...@apache.org.
KYLIN-669 add release notes


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

Branch: refs/heads/0.7.1
Commit: 384f088ec105ccbf11249bd28f36a9df98a320d1
Parents: c8e5201
Author: Luke Han <lu...@apache.org>
Authored: Fri May 22 13:43:20 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Fri May 22 13:43:20 2015 +0800

----------------------------------------------------------------------
 docs/release_notes.md | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/384f088e/docs/release_notes.md
----------------------------------------------------------------------
diff --git a/docs/release_notes.md b/docs/release_notes.md
new file mode 100644
index 0000000..4d630df
--- /dev/null
+++ b/docs/release_notes.md
@@ -0,0 +1,33 @@
+<!--
+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.
+-->
+
+# Apache Kylin Release Notes
+----------------------------
+
+## v0.7.1 (First Apache Release)
+This is first Apache Kylin release, including many changes after migrated to Apache.
+
+Main Changes:
+* Rename package from com.kylinolap to org.apache.kylin
+
+
+New Features:
+* ...
+
+Bug Fixes:
+* ...
+


[11/49] incubator-kylin git commit: update website structure and content

Posted by lu...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md b/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md
new file mode 100644
index 0000000..b636e64
--- /dev/null
+++ b/docs/website/_posts/API/2015-03-18-Restful-Service-Doc.md
@@ -0,0 +1,2042 @@
+---
+layout: post
+title:  "Restful Service Doc"
+date:   2015-03-18
+author: SHAOFENG SHI
+categories: api
+---
+
+## Kylin Restful API List
+
+* QUERY
+   * Login
+   * Query
+   * List queryable tables
+* CUBE
+   * List cubes
+   * Rebuild cube
+   * Disable cube
+   * Purge cube
+   * Enable cube
+* JOB
+   * Resume job
+   * Discard job
+   * Get job step log
+* Metadata
+   * Get Hive Table
+   * Get Hive Table (Extend Info)
+   * Get Hive Tables 
+   * Load Hive Table
+* Wipe cache
+
+***
+
+### Login
+`POST /user/authentication`
+
+for example: 
+{% highlight Groff markup %}sh
+curl -c /path/to/cookiefile.txt -X POST -H "Authorization: Basic XXXXXXXXX" -H 'Content-Type: application/json' http://<host>:<port>/kylin/api/user/authentication
+{% endhighlight %}
+
+If login successfully, the JSESSIONID will be saved into the cookie file; In the subsequent http requests, attach the cookie, for example:
+{% highlight Groff markup %}
+curl -b /path/to/cookiefile.txt -X PUT -H 'Content-Type: application/json' -d '{"startTime":'1423526400000', "endTime":'1423526400', "buildType":"BUILD"}' http://<host>:<port>/kylin/api/cubes/your_cube/rebuild
+{% endhighlight %}
+
+#### Header
+Authorization data encoded by basic auth. Header sample:
+Authorization:Basic {data}
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{  
+   "userDetails":{  
+      "password":null,
+      "username":"sample",
+      "authorities":[  
+         {  
+            "authority":"ROLE_ANALYST"
+         },
+         {  
+            "authority":"ROLE_MODELER"
+         }
+      ],
+      "accountNonExpired":true,
+      "accountNonLocked":true,
+      "credentialsNonExpired":true,
+      "enabled":true
+   }
+}
+{% endhighlight %}
+
+***
+
+### Query
+`POST /query`
+
+#### Request Body
+* sql - `required` `string` The sql query string.
+* offset - `optional` `int` Query offset. If offset is set in sql, curIndex will be ignored.
+* limit - `optional` `int` Query limit. If limit is set in sql, perPage will be ignored.
+* acceptPartial - `optional` `bool` Flag to switch partial query.
+* project - `optional` `string` Project to perform query. Default value is 'DEFAULT'
+{% highlight Groff markup %}
+{  
+   "sql":"select * from TEST_KYLIN_FACT",
+   "offset":0,
+   "limit":50000,
+   "acceptPartial":true,
+   "project":"DEFAULT"
+}
+{% endhighlight %}
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{  
+   "columnMetas":[  
+      {  
+         "isNullable":1,
+         "displaySize":0,
+         "label":"CAL_DT",
+         "name":"CAL_DT",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":0,
+         "scale":0,
+         "columnType":91,
+         "columnTypeName":"DATE",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":10,
+         "label":"LEAF_CATEG_ID",
+         "name":"LEAF_CATEG_ID",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":10,
+         "scale":0,
+         "columnType":4,
+         "columnTypeName":"INTEGER",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":10,
+         "label":"LSTG_SITE_ID",
+         "name":"LSTG_SITE_ID",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":10,
+         "scale":0,
+         "columnType":4,
+         "columnTypeName":"INTEGER",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":5,
+         "label":"SLR_SEGMENT_CD",
+         "name":"SLR_SEGMENT_CD",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":5,
+         "scale":0,
+         "columnType":5,
+         "columnTypeName":"SMALLINT",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":256,
+         "label":"LSTG_FORMAT_NAME",
+         "name":"LSTG_FORMAT_NAME",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":256,
+         "scale":0,
+         "columnType":12,
+         "columnTypeName":"VARCHAR(256)",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":19,
+         "label":"SELLER_ID",
+         "name":"SELLER_ID",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":19,
+         "scale":0,
+         "columnType":-5,
+         "columnTypeName":"BIGINT",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":19,
+         "label":"PRICE",
+         "name":"PRICE",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":19,
+         "scale":4,
+         "columnType":3,
+         "columnTypeName":"DECIMAL(19, 4)",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":19,
+         "label":"MIN_PRICE_",
+         "name":"MIN_PRICE_",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":19,
+         "scale":4,
+         "columnType":3,
+         "columnTypeName":"DECIMAL(19, 4)",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":19,
+         "label":"MAX_PRICE_",
+         "name":"MAX_PRICE_",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":19,
+         "scale":4,
+         "columnType":3,
+         "columnTypeName":"DECIMAL(19, 4)",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      },
+      {  
+         "isNullable":1,
+         "displaySize":19,
+         "label":"COUNT__",
+         "name":"COUNT__",
+         "schemaName":null,
+         "catelogName":null,
+         "tableName":null,
+         "precision":19,
+         "scale":0,
+         "columnType":-5,
+         "columnTypeName":"BIGINT",
+         "readOnly":true,
+         "writable":false,
+         "caseSensitive":true,
+         "searchable":false,
+         "currency":false,
+         "signed":true,
+         "autoIncrement":false,
+         "definitelyWritable":false
+      }
+   ],
+   "results":[  
+      [  
+         "2013-08-07",
+         "32996",
+         "15",
+         "15",
+         "Auction",
+         "10000000",
+         "49.048952730908745",
+         "49.048952730908745",
+         "49.048952730908745",
+         "1"
+      ],
+      [  
+         "2013-08-07",
+         "43398",
+         "0",
+         "14",
+         "ABIN",
+         "10000633",
+         "85.78317064220418",
+         "85.78317064220418",
+         "85.78317064220418",
+         "1"
+      ],
+      [  
+         "2013-08-07",
+         "170083",
+         "3",
+         "12",
+         "FP-non GTC",
+         "10000688",
+         "49.4518822857833",
+         "49.4518822857833",
+         "49.4518822857833",
+         "1"
+      ],
+      [  
+         "2013-08-07",
+         "73506",
+         "0",
+         "14",
+         "Others",
+         "10000858",
+         "35.7556514660872",
+         "35.7556514660872",
+         "35.7556514660872",
+         "1"
+      ],
+      [  
+         "2013-08-07",
+         "26262",
+         "0",
+         "5",
+         "FP-GTC",
+         "10000914",
+         "69.63202173718798",
+         "69.63202173718798",
+         "69.63202173718798",
+         "1"
+      ],
+      [  
+         "2013-08-07",
+         "1161",
+         "3",
+         "12",
+         "Others",
+         "10000959",
+         "76.72392839984632",
+         "76.72392839984632",
+         "76.72392839984632",
+         "1"
+      ]
+   ],
+   "cube":"test_kylin_cube_with_slr_desc",
+   "affectedRowCount":0,
+   "isException":false,
+   "exceptionMessage":null,
+   "duration":3451,
+   "partial":false
+}
+{% endhighlight %}
+
+***
+
+### List queryable tables
+`GET /tables_and_columns`
+
+#### Request Parameters
+* project - `required` `string` The project to load tables
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+[  
+   {  
+      "columns":[  
+         {  
+            "table_NAME":"TEST_CAL_DT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"CAL_DT",
+            "data_TYPE":91,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":1,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"DATE"
+         },
+         {  
+            "table_NAME":"TEST_CAL_DT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"WEEK_BEG_DT",
+            "data_TYPE":91,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":2,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"DATE"
+         }
+      ],
+      "table_NAME":"TEST_CAL_DT",
+      "table_SCHEM":"EDW",
+      "ref_GENERATION":null,
+      "self_REFERENCING_COL_NAME":null,
+      "type_SCHEM":null,
+      "table_TYPE":"TABLE",
+      "table_CAT":"defaultCatalog",
+      "remarks":null,
+      "type_CAT":null,
+      "type_NAME":null
+   },
+   {  
+      "columns":[  
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"LEAF_CATEG_ID",
+            "data_TYPE":4,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":1,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"INTEGER"
+         },
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"SITE_ID",
+            "data_TYPE":4,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":2,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"INTEGER"
+         },
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"META_CATEG_NAME",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":3,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         },
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"CATEG_LVL2_NAME",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":4,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         },
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"CATEG_LVL3_NAME",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":5,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         },
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"USER_DEFINED_FIELD1",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":6,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         },
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"USER_DEFINED_FIELD3",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":7,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         },
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"UPD_DATE",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":8,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         },
+         {  
+            "table_NAME":"TEST_CATEGORY_GROUPINGS",
+            "table_SCHEM":"EDW",
+            "column_NAME":"UPD_USER",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":9,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         }
+      ],
+      "table_NAME":"TEST_CATEGORY_GROUPINGS",
+      "table_SCHEM":"EDW",
+      "ref_GENERATION":null,
+      "self_REFERENCING_COL_NAME":null,
+      "type_SCHEM":null,
+      "table_TYPE":"TABLE",
+      "table_CAT":"defaultCatalog",
+      "remarks":null,
+      "type_CAT":null,
+      "type_NAME":null
+   },
+   {  
+      "columns":[  
+         {  
+            "table_NAME":"TEST_KYLIN_FACT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"CAL_DT",
+            "data_TYPE":91,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":1,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"DATE"
+         },
+         {  
+            "table_NAME":"TEST_KYLIN_FACT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"LEAF_CATEG_ID",
+            "data_TYPE":4,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":2,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"INTEGER"
+         },
+         {  
+            "table_NAME":"TEST_KYLIN_FACT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"LSTG_SITE_ID",
+            "data_TYPE":4,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":3,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"INTEGER"
+         },
+         {  
+            "table_NAME":"TEST_KYLIN_FACT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"SLR_SEGMENT_CD",
+            "data_TYPE":5,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":4,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"SMALLINT"
+         },
+         {  
+            "table_NAME":"TEST_KYLIN_FACT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"LSTG_FORMAT_NAME",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":5,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         },
+         {  
+            "table_NAME":"TEST_KYLIN_FACT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"SELLER_ID",
+            "data_TYPE":-5,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":6,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"BIGINT"
+         },
+         {  
+            "table_NAME":"TEST_KYLIN_FACT",
+            "table_SCHEM":"EDW",
+            "column_NAME":"PRICE",
+            "data_TYPE":3,
+            "nullable":1,
+            "column_SIZE":19,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":4,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":19,
+            "ordinal_POSITION":7,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"DECIMAL(19, 4)"
+         }
+      ],
+      "table_NAME":"TEST_KYLIN_FACT",
+      "table_SCHEM":"EDW",
+      "ref_GENERATION":null,
+      "self_REFERENCING_COL_NAME":null,
+      "type_SCHEM":null,
+      "table_TYPE":"TABLE",
+      "table_CAT":"defaultCatalog",
+      "remarks":null,
+      "type_CAT":null,
+      "type_NAME":null
+   },
+   {  
+      "columns":[  
+         {  
+            "table_NAME":"TEST_SELLER_TYPE_DIM",
+            "table_SCHEM":"EDW",
+            "column_NAME":"SELLER_TYPE_CD",
+            "data_TYPE":5,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":1,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"SMALLINT"
+         },
+         {  
+            "table_NAME":"TEST_SELLER_TYPE_DIM",
+            "table_SCHEM":"EDW",
+            "column_NAME":"SELLER_TYPE_DESC",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":2,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         }
+      ],
+      "table_NAME":"TEST_SELLER_TYPE_DIM",
+      "table_SCHEM":"EDW",
+      "ref_GENERATION":null,
+      "self_REFERENCING_COL_NAME":null,
+      "type_SCHEM":null,
+      "table_TYPE":"TABLE",
+      "table_CAT":"defaultCatalog",
+      "remarks":null,
+      "type_CAT":null,
+      "type_NAME":null
+   },
+   {  
+      "columns":[  
+         {  
+            "table_NAME":"TEST_SITES",
+            "table_SCHEM":"EDW",
+            "column_NAME":"SITE_ID",
+            "data_TYPE":4,
+            "nullable":1,
+            "column_SIZE":-1,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":-1,
+            "ordinal_POSITION":1,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"INTEGER"
+         },
+         {  
+            "table_NAME":"TEST_SITES",
+            "table_SCHEM":"EDW",
+            "column_NAME":"SITE_NAME",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":2,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         },
+         {  
+            "table_NAME":"TEST_SITES",
+            "table_SCHEM":"EDW",
+            "column_NAME":"CRE_USER",
+            "data_TYPE":12,
+            "nullable":1,
+            "column_SIZE":256,
+            "buffer_LENGTH":-1,
+            "decimal_DIGITS":0,
+            "num_PREC_RADIX":10,
+            "column_DEF":null,
+            "sql_DATA_TYPE":-1,
+            "sql_DATETIME_SUB":-1,
+            "char_OCTET_LENGTH":256,
+            "ordinal_POSITION":3,
+            "is_NULLABLE":"YES",
+            "scope_CATLOG":null,
+            "scope_SCHEMA":null,
+            "scope_TABLE":null,
+            "source_DATA_TYPE":-1,
+            "iS_AUTOINCREMENT":null,
+            "table_CAT":"defaultCatalog",
+            "remarks":null,
+            "type_NAME":"VARCHAR(256) CHARACTER SET \"UTF-16LE\" COLLATE \"UTF-16LE$en_US$primary\""
+         }
+      ],
+      "table_NAME":"TEST_SITES",
+      "table_SCHEM":"EDW",
+      "ref_GENERATION":null,
+      "self_REFERENCING_COL_NAME":null,
+      "type_SCHEM":null,
+      "table_TYPE":"TABLE",
+      "table_CAT":"defaultCatalog",
+      "remarks":null,
+      "type_CAT":null,
+      "type_NAME":null
+   }
+]
+{% endhighlight %}
+
+
+***
+
+### List cubes
+`GET /cubes`
+
+#### Request Parameters
+* cubeName - `optional` `string` Cube name to find.
+* offset - `required` `int` Offset used by pagination
+* limit - `required` `int ` Cubes per page.
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+[  
+   {  
+      "uuid":"1eaca32a-a33e-4b69-83dd-0bb8b1f8c53b",
+      "last_modified":1407831634847,
+      "name":"test_kylin_cube_with_slr_empty",
+      "owner":null,
+      "version":null,
+      "descriptor":"test_kylin_cube_with_slr_desc",
+      "cost":50,
+      "status":"DISABLED",
+      "segments":[  
+      ],
+      "create_time":null,
+      "source_records_count":0,
+      "source_records_size":0,
+      "size_kb":0
+   }
+]
+{% endhighlight %}
+
+### Rebuild cube
+`PUT /cubes/{cubeName}/rebuild`
+
+#### Path Variable
+* cubeName - `required` `string` Cube name.
+
+#### Request Body
+* startTime - `required` `long` Start timestamp of data to build, e.g. 1388563200000 for 2014-1-1
+* endTime - `required` `long` End timestamp of data to build
+* buildType - `required` `string` Build type: 'BUILD' OR 'MERGE'
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{  
+   "uuid":"c143e0e4-ac5f-434d-acf3-46b0d15e3dc6",
+   "last_modified":1407908916705,
+   "name":"test_kylin_cube_with_slr_empty - 19700101000000_20140731160000 - BUILD - PDT 2014-08-12 22:48:36",
+   "type":"BUILD",
+   "duration":0,
+   "related_cube":"test_kylin_cube_with_slr_empty",
+   "related_segment":"19700101000000_20140731160000",
+   "exec_start_time":0,
+   "exec_end_time":0,
+   "mr_waiting":0,
+   "steps":[  
+      {  
+         "interruptCmd":null,
+         "name":"Create Intermediate Flat Hive Table",
+         "sequence_id":0,
+         "exec_cmd":"hive -e \"DROP TABLE IF EXISTS kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6;\nCREATE EXTERNAL TABLE IF NOT EXISTS kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6\n(\nCAL_DT date\n,LEAF_CATEG_ID int\n,LSTG_SITE_ID int\n,META_CATEG_NAME string\n,CATEG_LVL2_NAME string\n,CATEG_LVL3_NAME string\n,LSTG_FORMAT_NAME string\n,SLR_SEGMENT_CD smallint\n,SELLER_ID bigint\n,PRICE decimal\n)\nROW FORMAT DELIMITED FIELDS TERMINATED BY '\\177'\nSTORED AS SEQUENCEFILE\nLOCATION '/tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6';\nSET mapreduce.job.split.metainfo.maxsize=-1;\nSET mapred.compress.map.output=true;\nSET mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;\nSET mapred.output.compress=true;\nSET ma
 pred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;\nSET mapred.output.compression.type=BLOCK;\nSET mapreduce.job.max.split.locations=2000;\nSET hive.exec.compress.output=true;\nSET hive.auto.convert.join.noconditionaltask = true;\nSET hive.auto.convert.join.noconditionaltask.size = 300000000;\nINSERT OVERWRITE TABLE kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6\nSELECT\nTEST_KYLIN_FACT.CAL_DT\n,TEST_KYLIN_FACT.LEAF_CATEG_ID\n,TEST_KYLIN_FACT.LSTG_SITE_ID\n,TEST_CATEGORY_GROUPINGS.META_CATEG_NAME\n,TEST_CATEGORY_GROUPINGS.CATEG_LVL2_NAME\n,TEST_CATEGORY_GROUPINGS.CATEG_LVL3_NAME\n,TEST_KYLIN_FACT.LSTG_FORMAT_NAME\n,TEST_KYLIN_FACT.SLR_SEGMENT_CD\n,TEST_KYLIN_FACT.SELLER_ID\n,TEST_KYLIN_FACT.PRICE\nFROM TEST_KYLIN_FACT\nINNER JOIN TEST_CAL_DT\nON TEST_KYLIN_FACT.CAL_DT = TEST_CAL_DT.CAL_DT\nINNER JOIN TEST_CATEGORY_GROUPINGS\nON TEST_KYLIN_FACT.LEAF_CATEG_ID = TEST_CATEGORY_GROUPINGS.LEAF_CATEG_ID AN
 D TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_CATEGORY_GROUPINGS.SITE_ID\nINNER JOIN TEST_SITES\nON TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_SITES.SITE_ID\nINNER JOIN TEST_SELLER_TYPE_DIM\nON TEST_KYLIN_FACT.SLR_SEGMENT_CD = TEST_SELLER_TYPE_DIM.SELLER_TYPE_CD\nWHERE (test_kylin_fact.cal_dt < '2014-07-31 16:00:00')\n;\n\"",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"SHELL_CMD_HADOOP",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Extract Fact Table Distinct Columns",
+         "sequence_id":1,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6 -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/fact_distinct_columns -jobname Kylin_Fact_Distinct_Columns_test_kylin_cube_with_slr_empty_Step_1",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_FACTDISTINCT",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build Dimension Dictionary",
+         "sequence_id":2,
+         "exec_cmd":" -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/fact_distinct_columns",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NO_MR_DICTIONARY",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build Base Cuboid Data",
+         "sequence_id":3,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6 -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/base_cuboid -jobname Kylin_Base_Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_3 -level 0",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_BASECUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 8-Dimension",
+         "sequence_id":4,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/base_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/8d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_4 -level 1",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 7-Dimension",
+         "sequence_id":5,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/8d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/7d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_5 -level 2",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 6-Dimension",
+         "sequence_id":6,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/7d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/6d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_6 -level 3",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 5-Dimension",
+         "sequence_id":7,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/6d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/5d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_7 -level 4",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 4-Dimension",
+         "sequence_id":8,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/5d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/4d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_8 -level 5",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Calculate HTable Region Splits",
+         "sequence_id":9,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/* -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/rowkey_stats -jobname Kylin_Region_Splits_Calculator_test_kylin_cube_with_slr_empty_Step_9 -cubename test_kylin_cube_with_slr_empty",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_RANGEKEYDISTRIBUTION",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Create HTable",
+         "sequence_id":10,
+         "exec_cmd":" -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/rowkey_stats/part-r-00000 -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADDOP_NO_MR_CREATEHTABLE",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Convert Cuboid Data to HFile",
+         "sequence_id":11,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/* -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/hfile -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A -jobname Kylin_HFile_Generator_test_kylin_cube_with_slr_empty_Step_11",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_CONVERTHFILE",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Load HFile to HBase Table",
+         "sequence_id":12,
+         "exec_cmd":" -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/hfile/ -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A -cubename test_kylin_cube_with_slr_empty",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NO_MR_BULKLOAD",
+         "info":null,
+         "run_async":false
+      }
+   ],
+   "job_status":"PENDING",
+   "progress":0.0
+}
+{% endhighlight %}
+
+
+### Disable Cube
+`PUT /cubes/{cubeName}/disable`
+
+#### Path variable
+* cubeName - `required` `string` Cube name.
+
+#### Response Sample
+(Same as "Enable Cube")
+
+
+### Purge Cube
+`PUT /cubes/{cubeName}/purge`
+
+#### Path variable
+* cubeName - `required` `string` Cube name.
+
+#### Response Sample
+(Same as "Enable Cube")
+
+
+### Enable Cube
+`PUT /cubes/{cubeName}/enable`
+
+#### Path variable
+* cubeName - `required` `string` Cube name.
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{  
+   "uuid":"1eaca32a-a33e-4b69-83dd-0bb8b1f8c53b",
+   "last_modified":1407909046305,
+   "name":"test_kylin_cube_with_slr_ready",
+   "owner":null,
+   "version":null,
+   "descriptor":"test_kylin_cube_with_slr_desc",
+   "cost":50,
+   "status":"ACTIVE",
+   "segments":[  
+      {  
+         "name":"19700101000000_20140531160000",
+         "storage_location_identifier":"KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_READY-19700101000000_20140531160000_BF043D2D-9A4A-45E9-AA59-5A17D3F34A50",
+         "date_range_start":0,
+         "date_range_end":1401552000000,
+         "status":"READY",
+         "size_kb":4758,
+         "source_records":6000,
+         "source_records_size":620356,
+         "last_build_time":1407832663227,
+         "last_build_job_id":"2c7a2b63-b052-4a51-8b09-0c24b5792cda",
+         "binary_signature":null,
+         "dictionaries":{  
+            "TEST_CATEGORY_GROUPINGS/CATEG_LVL2_NAME":"/dict/TEST_CATEGORY_GROUPINGS/CATEG_LVL2_NAME/16d8185c-ee6b-4f8c-a919-756d9809f937.dict",
+            "TEST_KYLIN_FACT/LSTG_SITE_ID":"/dict/TEST_SITES/SITE_ID/0bec6bb3-1b0d-469c-8289-b8c4ca5d5001.dict",
+            "TEST_KYLIN_FACT/SLR_SEGMENT_CD":"/dict/TEST_SELLER_TYPE_DIM/SELLER_TYPE_CD/0c5d77ec-316b-47e0-ba9a-0616be890ad6.dict",
+            "TEST_KYLIN_FACT/CAL_DT":"/dict/PREDEFINED/date(yyyy-mm-dd)/64ac4f82-f2af-476e-85b9-f0805001014e.dict",
+            "TEST_CATEGORY_GROUPINGS/CATEG_LVL3_NAME":"/dict/TEST_CATEGORY_GROUPINGS/CATEG_LVL3_NAME/270fbfb0-281c-4602-8413-2970a7439c47.dict",
+            "TEST_KYLIN_FACT/LEAF_CATEG_ID":"/dict/TEST_CATEGORY_GROUPINGS/LEAF_CATEG_ID/2602386c-debb-4968-8d2f-b52b8215e385.dict",
+            "TEST_CATEGORY_GROUPINGS/META_CATEG_NAME":"/dict/TEST_CATEGORY_GROUPINGS/META_CATEG_NAME/0410d2c4-4686-40bc-ba14-170042a2de94.dict"
+         },
+         "snapshots":{  
+            "TEST_CAL_DT":"/table_snapshot/TEST_CAL_DT.csv/8f7cfc8a-020d-4019-b419-3c6deb0ffaa0.snapshot",
+            "TEST_SELLER_TYPE_DIM":"/table_snapshot/TEST_SELLER_TYPE_DIM.csv/c60fd05e-ac94-4016-9255-96521b273b81.snapshot",
+            "TEST_CATEGORY_GROUPINGS":"/table_snapshot/TEST_CATEGORY_GROUPINGS.csv/363f4a59-b725-4459-826d-3188bde6a971.snapshot",
+            "TEST_SITES":"/table_snapshot/TEST_SITES.csv/78e0aecc-3ec6-4406-b86e-bac4b10ea63b.snapshot"
+         }
+      }
+   ],
+   "create_time":null,
+   "source_records_count":6000,
+   "source_records_size":0,
+   "size_kb":4758
+}
+{% endhighlight %}
+
+### Resume Job
+`PUT /jobs/{jobId}/resume`
+
+#### Path variable
+* jobId- `required` `string` Job id.
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{  
+   "uuid":"c143e0e4-ac5f-434d-acf3-46b0d15e3dc6",
+   "last_modified":1407908916705,
+   "name":"test_kylin_cube_with_slr_empty - 19700101000000_20140731160000 - BUILD - PDT 2014-08-12 22:48:36",
+   "type":"BUILD",
+   "duration":0,
+   "related_cube":"test_kylin_cube_with_slr_empty",
+   "related_segment":"19700101000000_20140731160000",
+   "exec_start_time":0,
+   "exec_end_time":0,
+   "mr_waiting":0,
+   "steps":[  
+      {  
+         "interruptCmd":null,
+         "name":"Create Intermediate Flat Hive Table",
+         "sequence_id":0,
+         "exec_cmd":"hive -e \"DROP TABLE IF EXISTS kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6;\nCREATE EXTERNAL TABLE IF NOT EXISTS kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6\n(\nCAL_DT date\n,LEAF_CATEG_ID int\n,LSTG_SITE_ID int\n,META_CATEG_NAME string\n,CATEG_LVL2_NAME string\n,CATEG_LVL3_NAME string\n,LSTG_FORMAT_NAME string\n,SLR_SEGMENT_CD smallint\n,SELLER_ID bigint\n,PRICE decimal\n)\nROW FORMAT DELIMITED FIELDS TERMINATED BY '\\177'\nSTORED AS SEQUENCEFILE\nLOCATION '/tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6';\nSET mapreduce.job.split.metainfo.maxsize=-1;\nSET mapred.compress.map.output=true;\nSET mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;\nSET mapred.output.compress=true;\nSET ma
 pred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;\nSET mapred.output.compression.type=BLOCK;\nSET mapreduce.job.max.split.locations=2000;\nSET hive.exec.compress.output=true;\nSET hive.auto.convert.join.noconditionaltask = true;\nSET hive.auto.convert.join.noconditionaltask.size = 300000000;\nINSERT OVERWRITE TABLE kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6\nSELECT\nTEST_KYLIN_FACT.CAL_DT\n,TEST_KYLIN_FACT.LEAF_CATEG_ID\n,TEST_KYLIN_FACT.LSTG_SITE_ID\n,TEST_CATEGORY_GROUPINGS.META_CATEG_NAME\n,TEST_CATEGORY_GROUPINGS.CATEG_LVL2_NAME\n,TEST_CATEGORY_GROUPINGS.CATEG_LVL3_NAME\n,TEST_KYLIN_FACT.LSTG_FORMAT_NAME\n,TEST_KYLIN_FACT.SLR_SEGMENT_CD\n,TEST_KYLIN_FACT.SELLER_ID\n,TEST_KYLIN_FACT.PRICE\nFROM TEST_KYLIN_FACT\nINNER JOIN TEST_CAL_DT\nON TEST_KYLIN_FACT.CAL_DT = TEST_CAL_DT.CAL_DT\nINNER JOIN TEST_CATEGORY_GROUPINGS\nON TEST_KYLIN_FACT.LEAF_CATEG_ID = TEST_CATEGORY_GROUPINGS.LEAF_CATEG_ID AN
 D TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_CATEGORY_GROUPINGS.SITE_ID\nINNER JOIN TEST_SITES\nON TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_SITES.SITE_ID\nINNER JOIN TEST_SELLER_TYPE_DIM\nON TEST_KYLIN_FACT.SLR_SEGMENT_CD = TEST_SELLER_TYPE_DIM.SELLER_TYPE_CD\nWHERE (test_kylin_fact.cal_dt < '2014-07-31 16:00:00')\n;\n\"",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"SHELL_CMD_HADOOP",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Extract Fact Table Distinct Columns",
+         "sequence_id":1,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6 -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/fact_distinct_columns -jobname Kylin_Fact_Distinct_Columns_test_kylin_cube_with_slr_empty_Step_1",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_FACTDISTINCT",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build Dimension Dictionary",
+         "sequence_id":2,
+         "exec_cmd":" -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/fact_distinct_columns",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NO_MR_DICTIONARY",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build Base Cuboid Data",
+         "sequence_id":3,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6 -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/base_cuboid -jobname Kylin_Base_Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_3 -level 0",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_BASECUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 8-Dimension",
+         "sequence_id":4,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/base_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/8d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_4 -level 1",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 7-Dimension",
+         "sequence_id":5,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/8d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/7d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_5 -level 2",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 6-Dimension",
+         "sequence_id":6,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/7d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/6d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_6 -level 3",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 5-Dimension",
+         "sequence_id":7,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/6d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/5d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_7 -level 4",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 4-Dimension",
+         "sequence_id":8,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/5d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/4d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_8 -level 5",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Calculate HTable Region Splits",
+         "sequence_id":9,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/* -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/rowkey_stats -jobname Kylin_Region_Splits_Calculator_test_kylin_cube_with_slr_empty_Step_9 -cubename test_kylin_cube_with_slr_empty",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_RANGEKEYDISTRIBUTION",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Create HTable",
+         "sequence_id":10,
+         "exec_cmd":" -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/rowkey_stats/part-r-00000 -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADDOP_NO_MR_CREATEHTABLE",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Convert Cuboid Data to HFile",
+         "sequence_id":11,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/* -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/hfile -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A -jobname Kylin_HFile_Generator_test_kylin_cube_with_slr_empty_Step_11",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_CONVERTHFILE",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Load HFile to HBase Table",
+         "sequence_id":12,
+         "exec_cmd":" -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/hfile/ -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A -cubename test_kylin_cube_with_slr_empty",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NO_MR_BULKLOAD",
+         "info":null,
+         "run_async":false
+      }
+   ],
+   "job_status":"PENDING",
+   "progress":0.0
+}
+{% endhighlight %}
+
+### Discard Job
+`PUT /jobs/{jobId}/cancel`
+
+#### Path variable
+* jobId- `required` `string` Job id.
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{  
+   "uuid":"c143e0e4-ac5f-434d-acf3-46b0d15e3dc6",
+   "last_modified":1407908916705,
+   "name":"test_kylin_cube_with_slr_empty - 19700101000000_20140731160000 - BUILD - PDT 2014-08-12 22:48:36",
+   "type":"BUILD",
+   "duration":0,
+   "related_cube":"test_kylin_cube_with_slr_empty",
+   "related_segment":"19700101000000_20140731160000",
+   "exec_start_time":0,
+   "exec_end_time":0,
+   "mr_waiting":0,
+   "steps":[  
+      {  
+         "interruptCmd":null,
+         "name":"Create Intermediate Flat Hive Table",
+         "sequence_id":0,
+         "exec_cmd":"hive -e \"DROP TABLE IF EXISTS kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6;\nCREATE EXTERNAL TABLE IF NOT EXISTS kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6\n(\nCAL_DT date\n,LEAF_CATEG_ID int\n,LSTG_SITE_ID int\n,META_CATEG_NAME string\n,CATEG_LVL2_NAME string\n,CATEG_LVL3_NAME string\n,LSTG_FORMAT_NAME string\n,SLR_SEGMENT_CD smallint\n,SELLER_ID bigint\n,PRICE decimal\n)\nROW FORMAT DELIMITED FIELDS TERMINATED BY '\\177'\nSTORED AS SEQUENCEFILE\nLOCATION '/tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6';\nSET mapreduce.job.split.metainfo.maxsize=-1;\nSET mapred.compress.map.output=true;\nSET mapred.map.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;\nSET mapred.output.compress=true;\nSET ma
 pred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;\nSET mapred.output.compression.type=BLOCK;\nSET mapreduce.job.max.split.locations=2000;\nSET hive.exec.compress.output=true;\nSET hive.auto.convert.join.noconditionaltask = true;\nSET hive.auto.convert.join.noconditionaltask.size = 300000000;\nINSERT OVERWRITE TABLE kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6\nSELECT\nTEST_KYLIN_FACT.CAL_DT\n,TEST_KYLIN_FACT.LEAF_CATEG_ID\n,TEST_KYLIN_FACT.LSTG_SITE_ID\n,TEST_CATEGORY_GROUPINGS.META_CATEG_NAME\n,TEST_CATEGORY_GROUPINGS.CATEG_LVL2_NAME\n,TEST_CATEGORY_GROUPINGS.CATEG_LVL3_NAME\n,TEST_KYLIN_FACT.LSTG_FORMAT_NAME\n,TEST_KYLIN_FACT.SLR_SEGMENT_CD\n,TEST_KYLIN_FACT.SELLER_ID\n,TEST_KYLIN_FACT.PRICE\nFROM TEST_KYLIN_FACT\nINNER JOIN TEST_CAL_DT\nON TEST_KYLIN_FACT.CAL_DT = TEST_CAL_DT.CAL_DT\nINNER JOIN TEST_CATEGORY_GROUPINGS\nON TEST_KYLIN_FACT.LEAF_CATEG_ID = TEST_CATEGORY_GROUPINGS.LEAF_CATEG_ID AN
 D TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_CATEGORY_GROUPINGS.SITE_ID\nINNER JOIN TEST_SITES\nON TEST_KYLIN_FACT.LSTG_SITE_ID = TEST_SITES.SITE_ID\nINNER JOIN TEST_SELLER_TYPE_DIM\nON TEST_KYLIN_FACT.SLR_SEGMENT_CD = TEST_SELLER_TYPE_DIM.SELLER_TYPE_CD\nWHERE (test_kylin_fact.cal_dt < '2014-07-31 16:00:00')\n;\n\"",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"SHELL_CMD_HADOOP",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Extract Fact Table Distinct Columns",
+         "sequence_id":1,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6 -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/fact_distinct_columns -jobname Kylin_Fact_Distinct_Columns_test_kylin_cube_with_slr_empty_Step_1",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_FACTDISTINCT",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build Dimension Dictionary",
+         "sequence_id":2,
+         "exec_cmd":" -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/fact_distinct_columns",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NO_MR_DICTIONARY",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build Base Cuboid Data",
+         "sequence_id":3,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/kylin_intermediate_test_kylin_cube_with_slr_desc_19700101000000_20140731160000_c143e0e4_ac5f_434d_acf3_46b0d15e3dc6 -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/base_cuboid -jobname Kylin_Base_Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_3 -level 0",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_BASECUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 8-Dimension",
+         "sequence_id":4,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/base_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/8d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_4 -level 1",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 7-Dimension",
+         "sequence_id":5,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/8d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/7d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_5 -level 2",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 6-Dimension",
+         "sequence_id":6,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/7d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/6d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_6 -level 3",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 5-Dimension",
+         "sequence_id":7,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/6d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/5d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_7 -level 4",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Build N-Dimension Cuboid Data : 4-Dimension",
+         "sequence_id":8,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -segmentname 19700101000000_20140731160000 -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/5d_cuboid -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/4d_cuboid -jobname Kylin_ND-Cuboid_Builder_test_kylin_cube_with_slr_empty_Step_8 -level 5",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NDCUBOID",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Calculate HTable Region Splits",
+         "sequence_id":9,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/* -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/rowkey_stats -jobname Kylin_Region_Splits_Calculator_test_kylin_cube_with_slr_empty_Step_9 -cubename test_kylin_cube_with_slr_empty",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_RANGEKEYDISTRIBUTION",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Create HTable",
+         "sequence_id":10,
+         "exec_cmd":" -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/rowkey_stats/part-r-00000 -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADDOP_NO_MR_CREATEHTABLE",
+         "info":null,
+         "run_async":false
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Convert Cuboid Data to HFile",
+         "sequence_id":11,
+         "exec_cmd":" -conf C:/kylin/Kylin/server/src/main/resources/hadoop_job_conf_medium.xml -cubename test_kylin_cube_with_slr_empty -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/cuboid/* -output /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/hfile -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A -jobname Kylin_HFile_Generator_test_kylin_cube_with_slr_empty_Step_11",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_CONVERTHFILE",
+         "info":null,
+         "run_async":true
+      },
+      {  
+         "interruptCmd":null,
+         "name":"Load HFile to HBase Table",
+         "sequence_id":12,
+         "exec_cmd":" -input /tmp/kylin-c143e0e4-ac5f-434d-acf3-46b0d15e3dc6/test_kylin_cube_with_slr_empty/hfile/ -htablename KYLIN-CUBE-TEST_KYLIN_CUBE_WITH_SLR_EMPTY-19700101000000_20140731160000_11BB4326-5975-4358-804C-70D53642E03A -cubename test_kylin_cube_with_slr_empty",
+         "interrupt_cmd":null,
+         "exec_start_time":0,
+         "exec_end_time":0,
+         "exec_wait_time":0,
+         "step_status":"PENDING",
+         "cmd_type":"JAVA_CMD_HADOOP_NO_MR_BULKLOAD",
+         "info":null,
+         "run_async":false
+      }
+   ],
+   "job_status":"PENDING",
+   "progress":0.0
+}
+{% endhighlight %}
+
+### Get job step output
+`GET /{jobId}/steps/{stepId}/output`
+
+#### Path Variable
+* jobId - `required` `string` Job id.
+* stepId - `required` `string` Step id; the step id is composed by jobId with step sequence id; for example, the jobId is "fb479e54-837f-49a2-b457-651fc50be110", its 3rd step id is "fb479e54-837f-49a2-b457-651fc50be110-3", 
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{  
+   "cmd_output":"log string"
+}
+{% endhighlight %}
+
+
+### Get Hive Table
+`GET /tables/{tableName}`
+
+#### Request Parameters
+* tableName - `required` `string` table name to find.
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{
+    uuid: "69cc92c0-fc42-4bb9-893f-bd1141c91dbe",
+    name: "SAMPLE_07",
+    columns: [{
+        id: "1",
+        name: "CODE",
+        datatype: "string"
+    }, {
+        id: "2",
+        name: "DESCRIPTION",
+        datatype: "string"
+    }, {
+        id: "3",
+        name: "TOTAL_EMP",
+        datatype: "int"
+    }, {
+        id: "4",
+        name: "SALARY",
+        datatype: "int"
+    }],
+    database: "DEFAULT",
+    last_modified: 1419330476755
+}
+{% endhighlight %}
+
+### Get Hive Table  (Extend Info)
+`GET /tables/{tableName}/exd-map`
+
+#### Request Parameters
+* tableName - `optional` `string` table name to find.
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{
+    "minFileSize": "46055",
+    "totalNumberFiles": "1",
+    "location": "hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse/sample_07",
+    "lastAccessTime": "1418374103365",
+    "lastUpdateTime": "1398176493340",
+    "columns": "struct columns { string code, string description, i32 total_emp, i32 salary}",
+    "partitionColumns": "",
+    "EXD_STATUS": "true",
+    "maxFileSize": "46055",
+    "inputformat": "org.apache.hadoop.mapred.TextInputFormat",
+    "partitioned": "false",
+    "tableName": "sample_07",
+    "owner": "hue",
+    "totalFileSize": "46055",
+    "outputformat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"
+}
+{% endhighlight %}
+
+### Get Hive Tables
+`GET /tables`
+
+#### Request Parameters
+* project- `required` `string` will list all tables in the project.
+* ext- `optional` `boolean`  set true to get extend info of table.
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+[
+ {
+    uuid: "53856c96-fe4d-459e-a9dc-c339b1bc3310",
+    name: "SAMPLE_08",
+    columns: [{
+        id: "1",
+        name: "CODE",
+        datatype: "string"
+    }, {
+        id: "2",
+        name: "DESCRIPTION",
+        datatype: "string"
+    }, {
+        id: "3",
+        name: "TOTAL_EMP",
+        datatype: "int"
+    }, {
+        id: "4",
+        name: "SALARY",
+        datatype: "int"
+    }],
+    database: "DEFAULT",
+    cardinality: {},
+    last_modified: 0,
+    exd: {
+        minFileSize: "46069",
+        totalNumberFiles: "1",
+        location: "hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse/sample_08",
+        lastAccessTime: "1398176495945",
+        lastUpdateTime: "1398176495981",
+        columns: "struct columns { string code, string description, i32 total_emp, i32 salary}",
+        partitionColumns: "",
+        EXD_STATUS: "true",
+        maxFileSize: "46069",
+        inputformat: "org.apache.hadoop.mapred.TextInputFormat",
+        partitioned: "false",
+        tableName: "sample_08",
+        owner: "hue",
+        totalFileSize: "46069",
+        outputformat: "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"
+    }
+}, {
+    uuid: "82d72d9c-705c-4706-aaf5-358ac2661cf9",
+    name: "TEST_KYLIN_FACT",
+    columns: [{
+        id: "1",
+        name: "TRANS_ID",
+        datatype: "bigint"
+    }, {
+        id: "2",
+        name: "CAL_DT",
+        datatype: "date"
+    }, {
+        id: "3",
+        name: "LSTG_FORMAT_NAME",
+        datatype: "string"
+    }, {
+        id: "4",
+        name: "LEAF_CATEG_ID",
+        datatype: "int"
+    }, {
+        id: "5",
+        name: "LSTG_SITE_ID",
+        datatype: "int"
+    }, {
+        id: "6",
+        name: "SLR_SEGMENT_CD",
+        datatype: "smallint"
+    }, {
+        id: "7",
+        name: "PRICE",
+        datatype: "decimal(38,16)"
+    }, {
+        id: "8",
+        name: "ITEM_COUNT",
+        datatype: "bigint"
+    }, {
+        id: "9",
+        name: "SELLER_ID",
+        datatype: "bigint"
+    }],
+    database: "DEFAULT",
+    cardinality: {},
+    last_modified: 0,
+    exd: {
+        minFileSize: "607328",
+        totalNumberFiles: "1",
+        location: "hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse/test_kylin_fact",
+        lastAccessTime: "1418899958520",
+        lastUpdateTime: "1414051037179",
+        columns: "struct columns { i64 trans_id, date cal_dt, string lstg_format_name, i32 leaf_categ_id, i32 lstg_site_id, i16 slr_segment_cd, decimal(38,16) price, i64 item_count, i64 seller_id}",
+        partitionColumns: "",
+        EXD_STATUS: "true",
+        maxFileSize: "607328",
+        inputformat: "org.apache.hadoop.mapred.TextInputFormat",
+        partitioned: "false",
+        tableName: "test_kylin_fact",
+        owner: "root",
+        totalFileSize: "607328",
+        outputformat: "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat"
+    }
+ }
+]
+{% endhighlight %}
+
+### Load Hive Tables
+`POST /tables/{tables}/{project}`
+
+* tables- `required` `string` tables you want to load from hive,split with comma.
+* project- `required` `String`  specif.
+
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}
+{% highlight Groff markup %}
+{
+    "result.loaded": ["DEFAULT.SAMPLE_07"],
+    "result.unloaded": ["sapmle_08"]
+}
+{% endhighlight %}
+
+
+### Wipe cache
+`GET /cache/{type}/{name}/{action}`
+
+#### Path variable
+* type - `required` `string` 'METADATA' or 'CUBE'
+* name - `required` `string` Cache key.
+* action - `required` `string` 'create', 'update' or 'drop'
+
+#### Response Sample
+{% highlight Groff markup %}
+Status: 200OK
+{% endhighlight %}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/FAQ/2015-05-18-FAQ-on-Kylin-Installation-and-Usage.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/FAQ/2015-05-18-FAQ-on-Kylin-Installation-and-Usage.md b/docs/website/_posts/FAQ/2015-05-18-FAQ-on-Kylin-Installation-and-Usage.md
new file mode 100644
index 0000000..511f8e6
--- /dev/null
+++ b/docs/website/_posts/FAQ/2015-05-18-FAQ-on-Kylin-Installation-and-Usage.md
@@ -0,0 +1,46 @@
+---
+layout: post
+title:  "FAQ on Kylin Installation and Usage"
+date:   2015-05-18
+author: liyang-gmt8
+categories: faq
+---
+
+#### Some NPM error causes ERROR exit (中国大陆地区用户请特别注意此问题)?
+Check out [https://github.com/KylinOLAP/Kylin/issues/35](https://github.com/KylinOLAP/Kylin/issues/35)
+
+#### Can't get master address from ZooKeeper" when installing Kylin on Hortonworks Sandbox
+Check out [https://github.com/KylinOLAP/Kylin/issues/9](https://github.com/KylinOLAP/Kylin/issues/9).
+
+#### Install scripted finished in my virtual machine, but cannot visit via http://localhost:9080
+Check out [https://github.com/KylinOLAP/Kylin/issues/12](https://github.com/KylinOLAP/Kylin/issues/12).
+
+#### Map Reduce Job information can't display on sandbox deployment
+Check out [https://github.com/KylinOLAP/Kylin/issues/40](https://github.com/KylinOLAP/Kylin/issues/40)
+
+#### Install Kylin on CDH 5.2 or Hadoop 2.5.x
+Check out discussion: [https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kylin-olap/X0GZfsX1jLc/nzs6xAhNpLkJ](https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kylin-olap/X0GZfsX1jLc/nzs6xAhNpLkJ)
+{% highlight Groff markup %}
+I was able to deploy Kylin with following option in POM.
+<hadoop2.version>2.5.0</hadoop2.version>
+<yarn.version>2.5.0</yarn.version>
+<hbase-hadoop2.version>0.98.6-hadoop2</hbase-hadoop2.version>
+<zookeeper.version>3.4.5</zookeeper.version>
+<hive.version>0.13.1</hive.version>
+My Cluster is running on Cloudera Distribution CDH 5.2.0.
+{% endhighlight %}
+
+#### Unable to load a big cube as HTable, with java.lang.OutOfMemoryError: unable to create new native thread
+HBase (as of writing) allocates one thread per region when bulk loading a HTable. Try reduce the number of regions of your cube by setting its "capacity" to "MEDIUM" or "LARGE". Also tweaks OS & JVM can allow more threads, for example see [this article](http://blog.egilh.com/2006/06/2811aspx.html).
+
+#### Failed to run BuildCubeWithEngineTest, saying failed to connect to hbase while hbase is active
+User may get this error when first time run hbase client, please check the error trace to see whether there is an error saying couldn't access a folder like "/hadoop/hbase/local/jars"; If that folder doesn't exist, create it.
+
+#### SUM(field) returns a negtive result while all the numbers in this field are > 0
+If a column is declared as integer in Hive, the SQL engine (calcite) will use column's type (integer) as the data type for "SUM(field)", while the aggregated value on this field may exceed the scope of integer; in that case the cast will cause a negtive value be returned; The workround is, alter that column's type to BIGINT in hive, and then sync the table schema to Kylin (the cube doesn't need rebuild); Keep in mind that, always declare as BIGINT in hive for an integer column which would be used as a measure in Kylin; See hive number types: [https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-NumericTypes)
+
+#### Why Kylin need extract the distinct columns from Fact Table before building cube?
+Kylin uses dictionary to encode the values in each column, this greatly reduce the cube's storage size. To build the dictionary, Kylin need fetch the distinct values for each column.
+
+#### Why Kylin calculate the HIVE table cardinality?
+The cardinality of dimensions is an important measure of cube complexity. The higher the cardinality, the bigger the cube, and thus the longer to build and the slower to query. Cardinality > 1,000 is worth attention and > 1,000,000 should be avoided at best effort. For optimal cube performance, try reduce high cardinality by categorize values or derive features.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/_posts/How to/2014-10-23-Kylin-web-front-end-summary.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/How to/2014-10-23-Kylin-web-front-end-summary.md b/docs/website/_posts/How to/2014-10-23-Kylin-web-front-end-summary.md
new file mode 100644
index 0000000..7d3cb77
--- /dev/null
+++ b/docs/website/_posts/How to/2014-10-23-Kylin-web-front-end-summary.md	
@@ -0,0 +1,47 @@
+---
+layout: post
+title:  "Kylin web front end summary"
+date:   2014-10-23
+author: xduo
+categories: howto
+---
+
+### Project Dependencies
+* npm: used in development phase to install grunt and bower
+* grunt: build and set up kylin web
+* bower: manage kylin tech dependencies
+
+### Tech Dependencies
+* Angular JS: fundamental support of kylin web
+* ACE: sql and json editor
+* D3 JS: draw report chart and cube graph
+* Bootstrap: css lib
+
+### Supported Use Cases:
+
+###### Kylin web supports needs of various of roles in BI workflow. 
+
+* Analyst: Run query and checkout results
+* Modeler: cube design, cube/job operation and monitor
+* Admin: system operation.
+
+### Tech Overview 
+Kylin web is a one-page application build on top of restful services. Kylin web uses tools from nodejs to manage project and use AngularJS to enable one-page web app. Kylin web uses popular techs from js opensource community making it easy to catch up and contribute. 
+
+### Highlights:
+* Query utility functions:
+    * SQL auto-suggestions on table and column name
+    * Query remote/local save.
+    * Data grid supporting million level data with easy BI operations
+    * Data export
+    * Simple data visualization(line, bar, pie)
+* Cube management:
+    * Well-designed cube creation flow
+    * Visualization of cube relational structure.
+    * Well-designed cube access management
+* Job management:
+    * Job steps and log monitor
+    * Kill
+    * Resume
+* Useful admin tools.
+* Refined look&feel.



[33/49] incubator-kylin git commit: [maven-release-plugin] prepare release kylin-0.7.1-incubating

Posted by lu...@apache.org.
[maven-release-plugin] prepare release kylin-0.7.1-incubating


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

Branch: refs/heads/0.7.1
Commit: 0c42b848de09270a726beec5f6e9329ce32a8e32
Parents: 7258547
Author: Luke Han <lu...@apache.org>
Authored: Mon Jun 1 00:07:54 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   | 2 +-
 common/pom.xml        | 2 +-
 cube/pom.xml          | 2 +-
 dictionary/pom.xml    | 2 +-
 invertedindex/pom.xml | 2 +-
 jdbc/pom.xml          | 2 +-
 job/pom.xml           | 2 +-
 metadata/pom.xml      | 2 +-
 pom.xml               | 4 ++--
 query/pom.xml         | 2 +-
 server/pom.xml        | 2 +-
 storage/pom.xml       | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index cf06b15..9417503 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index e8cf42b..310ee93 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 0fdd708..d3f6915 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 524a52f..3d04215 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index dcf961b..10669e7 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 24feef9..9c29977 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.1-incubating-SNAPSHOT</version>
+		<version>0.7.1-incubating</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index d3c0b55..e49c792 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e10777a..2c7e7ab 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6582c35..e7a8d0b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.1-incubating-SNAPSHOT</version>
+    <version>0.7.1-incubating</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -145,7 +145,7 @@
         <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</developerConnection>
         <url>https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</url>
-        <tag>apache-kylin-0.7.1-incubating</tag>
+        <tag>kylin-0.7.1-incubating</tag>
     </scm>
 
     <dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 030482b..60b09e1 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index c99ed94..276e384 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/0c42b848/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 177e731..3b18de0 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <dependencies>


[39/49] incubator-kylin git commit: KYLIN 669 update pom for rc3

Posted by lu...@apache.org.
KYLIN 669 update pom for rc3


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

Branch: refs/heads/0.7.1
Commit: a36025f96daa60c2fbac53aadb057c217a22c7be
Parents: 3db83d8
Author: Luke Han <lu...@apache.org>
Authored: Tue Jun 2 11:21:53 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 pom.xml | 50 +++++++++++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/a36025f9/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 261ba58..e36601d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,6 +40,7 @@
         <javaVersion>1.7</javaVersion>
         <maven-model.version>3.1.1</maven-model.version>
         <maven-release.version>2.5.1</maven-release.version>
+        <maven-assembly.version>2.4</maven-assembly.version>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
@@ -517,6 +518,7 @@
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-release-plugin</artifactId>
                     <version>${maven-release.version}</version>
+
                 </plugin>
                 <plugin>
                     <groupId>org.jacoco</groupId>
@@ -535,6 +537,11 @@
                         </execution>
                     </executions>
                 </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-assembly-plugin</artifactId>
+                    <version>${maven-assembly.version}</version>
+                </plugin>
             </plugins>
         </pluginManagement>
     </build>
@@ -655,6 +662,27 @@
             <id>apache-release</id>
             <build>
                 <plugins>
+                    <!-- Override the parent assembly execution to customize the assembly
+              descriptor and final name. -->
+                    <plugin>
+                        <artifactId>maven-assembly-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>source-release-assembly</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>single</goal>
+                                </goals>
+                                <configuration>
+                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+                                    <appendAssemblyId>false</appendAssemblyId>
+                                    <descriptor>src/main/config/assemblies/source-assembly.xml</descriptor>
+                                    <finalName>apache-kylin-${project.version}-src</finalName>
+                                    <tarLongFileMode>gnu</tarLongFileMode>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-surefire-plugin</artifactId>
@@ -785,27 +813,7 @@
                             <failOnError>false</failOnError>
                         </configuration>
                     </plugin>
-                     <!-- Override the parent assembly execution to customize the assembly
-               descriptor and final name. -->
-          <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>source-release-assembly</id>
-                <phase>package</phase>
-                <goals>
-                  <goal>single</goal>
-                </goals>
-                <configuration>
-                  <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
-                  <appendAssemblyId>false</appendAssemblyId>
-                  <descriptor>src/main/config/assemblies/source-assembly.xml</descriptor>
-                  <finalName>apache-kylin-${project.version}-src</finalName>
-                  <tarLongFileMode>gnu</tarLongFileMode>
-                </configuration>
-              </execution>
-            </executions>
-          </plugin>
+
                 </plugins>
             </build>
         </profile>


[37/49] incubator-kylin git commit: KYLIN-699 update server and webapp settings for rc2

Posted by lu...@apache.org.
KYLIN-699 update server and webapp settings for rc2


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

Branch: refs/heads/0.7.1
Commit: 89dc5a5faee797b884aa1d5cc28fcc5efd39da74
Parents: a17f99b
Author: Luke Han <lu...@apache.org>
Authored: Tue May 26 19:45:29 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 examples/ReleaseNotes.md | 10 ----------
 1 file changed, 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/89dc5a5f/examples/ReleaseNotes.md
----------------------------------------------------------------------
diff --git a/examples/ReleaseNotes.md b/examples/ReleaseNotes.md
deleted file mode 100644
index fd27193..0000000
--- a/examples/ReleaseNotes.md
+++ /dev/null
@@ -1,10 +0,0 @@
-Model: Query
-
-Release 0.3.1-SNAPSHOT
-======================
->Upgrade Optiq to 0.4.17
-	Upgrade Optiq framework from 0.4.16 to 0.4.17
-
-
-Release 0.3.0
-=============
\ No newline at end of file


[15/49] incubator-kylin git commit: Update sandbox site configurations to 2.2.4.2-2

Posted by lu...@apache.org.
Update sandbox site configurations to 2.2.4.2-2


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

Branch: refs/heads/0.7.1
Commit: c875bba588545a805f18b30814213161a9bde59f
Parents: d63c350
Author: shaofengshi <sh...@apache.org>
Authored: Wed May 27 20:53:27 2015 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Wed May 27 21:01:06 2015 +0800

----------------------------------------------------------------------
 .../sandbox/capacity-scheduler.xml              |  24 +-
 examples/test_case_data/sandbox/core-site.xml   | 193 ++--
 .../test_case_data/sandbox/hadoop-policy.xml    |  85 +-
 .../test_case_data/sandbox/hbase-policy.xml     |  37 +-
 examples/test_case_data/sandbox/hbase-site.xml  | 243 ++---
 examples/test_case_data/sandbox/hdfs-site.xml   | 329 +++----
 examples/test_case_data/sandbox/hive-site.xml   | 964 +++++++++----------
 examples/test_case_data/sandbox/mapred-site.xml | 297 +++---
 examples/test_case_data/sandbox/yarn-site.xml   | 620 ++++++------
 .../kylin/job/BuildCubeWithEngineTest.java      |   2 +-
 .../apache/kylin/job/BuildIIWithEngineTest.java |   2 +-
 .../java/org/apache/kylin/rest/DebugTomcat.java |   2 +-
 12 files changed, 1263 insertions(+), 1535 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/capacity-scheduler.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/capacity-scheduler.xml b/examples/test_case_data/sandbox/capacity-scheduler.xml
index ac5d0e0..9c97e43 100644
--- a/examples/test_case_data/sandbox/capacity-scheduler.xml
+++ b/examples/test_case_data/sandbox/capacity-scheduler.xml
@@ -1,17 +1,4 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:30:55 2015-->
 <configuration>
 
     <property>
@@ -21,7 +8,7 @@
 
     <property>
         <name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
-        <value>0.5</value>
+        <value>0.2</value>
     </property>
 
     <property>
@@ -66,7 +53,7 @@
 
     <property>
         <name>yarn.scheduler.capacity.root.default-node-label-expression</name>
-        <value></value>
+        <value> </value>
     </property>
 
     <property>
@@ -85,11 +72,6 @@
     </property>
 
     <property>
-        <name>yarn.scheduler.capacity.root.default.maximum-am-resource-percent</name>
-        <value>0.5</value>
-    </property>
-
-    <property>
         <name>yarn.scheduler.capacity.root.default.maximum-capacity</name>
         <value>100</value>
     </property>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/core-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/core-site.xml b/examples/test_case_data/sandbox/core-site.xml
index 3491a71..e2b3fbe 100644
--- a/examples/test_case_data/sandbox/core-site.xml
+++ b/examples/test_case_data/sandbox/core-site.xml
@@ -1,165 +1,106 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:30:55 2015-->
 <configuration>
-    
-    <property>
-      <name>fs.defaultFS</name>
-      <value>hdfs://sandbox.hortonworks.com:8020</value>
-      <final>true</final>
-    </property>
-    
-    <property>
-      <name>fs.trash.interval</name>
-      <value>360</value>
-    </property>
-    
-    <property>
-      <name>hadoop.http.authentication.simple.anonymous.allowed</name>
-      <value>true</value>
-    </property>
-    
-    <property>
-      <name>hadoop.proxyuser.falcon.groups</name>
-      <value>users</value>
-    </property>
-    
-    <property>
-      <name>hadoop.proxyuser.falcon.hosts</name>
-      <value>*</value>
-    </property>
-    
-    <property>
-      <name>hadoop.proxyuser.hbase.groups</name>
-      <value>users</value>
-    </property>
-    
-    <property>
-      <name>hadoop.proxyuser.hbase.hosts</name>
-      <value>*</value>
-    </property>
-    
-    <property>
-      <name>hadoop.proxyuser.hcat.groups</name>
-      <value>*</value>
-    </property>
-    
-    <property>
-      <name>hadoop.proxyuser.hcat.hosts</name>
-      <value>sandbox.hortonworks.com</value>
-    </property>
-    
+
     <property>
-      <name>hadoop.proxyuser.hive.groups</name>
-      <value>users</value>
+        <name>fs.defaultFS</name>
+        <value>hdfs://sandbox.hortonworks.com:8020</value>
+        <final>true</final>
     </property>
-    
+
     <property>
-      <name>hadoop.proxyuser.hive.hosts</name>
-      <value>*</value>
+        <name>fs.trash.interval</name>
+        <value>360</value>
     </property>
-    
+
     <property>
-      <name>hadoop.proxyuser.hue.groups</name>
-      <value>*</value>
+        <name>hadoop.http.authentication.simple.anonymous.allowed</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hadoop.proxyuser.hue.hosts</name>
-      <value>*</value>
+        <name>hadoop.proxyuser.hcat.groups</name>
+        <value>users</value>
     </property>
-    
+
     <property>
-      <name>hadoop.proxyuser.oozie.groups</name>
-      <value>*</value>
+        <name>hadoop.proxyuser.hcat.hosts</name>
+        <value>sandbox.hortonworks.com</value>
     </property>
-    
+
     <property>
-      <name>hadoop.proxyuser.oozie.hosts</name>
-      <value>sandbox.hortonworks.com</value>
+        <name>hadoop.proxyuser.hive.groups</name>
+        <value>users</value>
     </property>
-    
+
     <property>
-      <name>hadoop.proxyuser.root.groups</name>
-      <value>*</value>
+        <name>hadoop.proxyuser.hive.hosts</name>
+        <value>sandbox.hortonworks.com</value>
     </property>
-    
+
     <property>
-      <name>hadoop.proxyuser.root.hosts</name>
-      <value>*</value>
+        <name>hadoop.security.auth_to_local</name>
+        <value>
+            RULE:[2:$1@$0]([rn]m@.*)s/.*/yarn/
+            RULE:[2:$1@$0](jhs@.*)s/.*/mapred/
+            RULE:[2:$1@$0]([nd]n@.*)s/.*/hdfs/
+            RULE:[2:$1@$0](hm@.*)s/.*/hbase/
+            RULE:[2:$1@$0](rs@.*)s/.*/hbase/
+            DEFAULT</value>
     </property>
-    
+
     <property>
-      <name>hadoop.security.auth_to_local</name>
-      <value>
-        RULE:[2:$1@$0]([rn]m@.*)s/.*/yarn/
-        RULE:[2:$1@$0](jhs@.*)s/.*/mapred/
-        RULE:[2:$1@$0]([nd]n@.*)s/.*/hdfs/
-        RULE:[2:$1@$0](hm@.*)s/.*/hbase/
-        RULE:[2:$1@$0](rs@.*)s/.*/hbase/
-        DEFAULT
-    </value>
+        <name>hadoop.security.authentication</name>
+        <value>simple</value>
     </property>
-    
+
     <property>
-      <name>hadoop.security.authentication</name>
-      <value>simple</value>
+        <name>hadoop.security.authorization</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hadoop.security.authorization</name>
-      <value>false</value>
+        <name>io.compression.codecs</name>
+        <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec</value>
     </property>
-    
+
     <property>
-      <name>io.compression.codecs</name>
-      <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec</value>
+        <name>io.file.buffer.size</name>
+        <value>131072</value>
     </property>
-    
+
     <property>
-      <name>io.file.buffer.size</name>
-      <value>131072</value>
+        <name>io.serializations</name>
+        <value>org.apache.hadoop.io.serializer.WritableSerialization</value>
     </property>
-    
+
     <property>
-      <name>io.serializations</name>
-      <value>org.apache.hadoop.io.serializer.WritableSerialization</value>
+        <name>ipc.client.connect.max.retries</name>
+        <value>50</value>
     </property>
-    
+
     <property>
-      <name>ipc.client.connect.max.retries</name>
-      <value>50</value>
+        <name>ipc.client.connection.maxidletime</name>
+        <value>30000</value>
     </property>
-    
+
     <property>
-      <name>ipc.client.connection.maxidletime</name>
-      <value>30000</value>
+        <name>ipc.client.idlethreshold</name>
+        <value>8000</value>
     </property>
-    
+
     <property>
-      <name>ipc.client.idlethreshold</name>
-      <value>8000</value>
+        <name>ipc.server.tcpnodelay</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>ipc.server.tcpnodelay</name>
-      <value>true</value>
+        <name>mapreduce.jobtracker.webinterface.trusted</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.jobtracker.webinterface.trusted</name>
-      <value>false</value>
+        <name>proxyuser_group</name>
+        <value>users</value>
     </property>
-    
-  </configuration>
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/hadoop-policy.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hadoop-policy.xml b/examples/test_case_data/sandbox/hadoop-policy.xml
index 3b3c57d..3f08465 100644
--- a/examples/test_case_data/sandbox/hadoop-policy.xml
+++ b/examples/test_case_data/sandbox/hadoop-policy.xml
@@ -1,72 +1,59 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:30:15 2015-->
 <configuration>
-    
+
     <property>
-      <name>security.admin.operations.protocol.acl</name>
-      <value>hadoop</value>
+        <name>security.admin.operations.protocol.acl</name>
+        <value>hadoop</value>
     </property>
-    
+
     <property>
-      <name>security.client.datanode.protocol.acl</name>
-      <value>*</value>
+        <name>security.client.datanode.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.client.protocol.acl</name>
-      <value>*</value>
+        <name>security.client.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.datanode.protocol.acl</name>
-      <value>*</value>
+        <name>security.datanode.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.inter.datanode.protocol.acl</name>
-      <value>*</value>
+        <name>security.inter.datanode.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.inter.tracker.protocol.acl</name>
-      <value>*</value>
+        <name>security.inter.tracker.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.job.client.protocol.acl</name>
-      <value>*</value>
+        <name>security.job.client.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.job.task.protocol.acl</name>
-      <value>*</value>
+        <name>security.job.task.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.namenode.protocol.acl</name>
-      <value>*</value>
+        <name>security.namenode.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.refresh.policy.protocol.acl</name>
-      <value>hadoop</value>
+        <name>security.refresh.policy.protocol.acl</name>
+        <value>hadoop</value>
     </property>
-    
+
     <property>
-      <name>security.refresh.usertogroups.mappings.protocol.acl</name>
-      <value>hadoop</value>
+        <name>security.refresh.usertogroups.mappings.protocol.acl</name>
+        <value>hadoop</value>
     </property>
-    
-  </configuration>
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/hbase-policy.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hbase-policy.xml b/examples/test_case_data/sandbox/hbase-policy.xml
index b94da01..6549239 100644
--- a/examples/test_case_data/sandbox/hbase-policy.xml
+++ b/examples/test_case_data/sandbox/hbase-policy.xml
@@ -1,32 +1,19 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:30:31 2015-->
 <configuration>
-    
+
     <property>
-      <name>security.admin.protocol.acl</name>
-      <value>*</value>
+        <name>security.admin.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.client.protocol.acl</name>
-      <value>*</value>
+        <name>security.client.protocol.acl</name>
+        <value>*</value>
     </property>
-    
+
     <property>
-      <name>security.masterregion.protocol.acl</name>
-      <value>*</value>
+        <name>security.masterregion.protocol.acl</name>
+        <value>*</value>
     </property>
-    
-  </configuration>
+
+</configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/hbase-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hbase-site.xml b/examples/test_case_data/sandbox/hbase-site.xml
index 33675a7..b63cc90 100644
--- a/examples/test_case_data/sandbox/hbase-site.xml
+++ b/examples/test_case_data/sandbox/hbase-site.xml
@@ -1,207 +1,174 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:30:31 2015-->
 <configuration>
-    
-    <property>
-      <name>dfs.domain.socket.path</name>
-      <value>/var/lib/hadoop-hdfs/dn_socket</value>
-    </property>
-    
-    <property>
-      <name>hbase.client.keyvalue.maxsize</name>
-      <value>10485760</value>
-    </property>
-    
-    <property>
-      <name>hbase.client.scanner.caching</name>
-      <value>100</value>
-    </property>
-    
-    <property>
-      <name>hbase.cluster.distributed</name>
-      <value>true</value>
-    </property>
-    
+
     <property>
-      <name>hbase.coprocessor.master.classes</name>
-      <value>com.xasecure.authorization.hbase.XaSecureAuthorizationCoprocessor</value>
+        <name>dfs.domain.socket.path</name>
+        <value>/var/lib/hadoop-hdfs/dn_socket</value>
     </property>
-    
+
     <property>
-      <name>hbase.coprocessor.region.classes</name>
-      <value>com.xasecure.authorization.hbase.XaSecureAuthorizationCoprocessor</value>
+        <name>hbase.client.keyvalue.maxsize</name>
+        <value>10485760</value>
     </property>
-    
+
     <property>
-      <name>hbase.defaults.for.version.skip</name>
-      <value>true</value>
+        <name>hbase.client.scanner.caching</name>
+        <value>100</value>
     </property>
-    
+
     <property>
-      <name>hbase.hregion.majorcompaction</name>
-      <value>604800000</value>
+        <name>hbase.cluster.distributed</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hbase.hregion.majorcompaction.jitter</name>
-      <value>0.50</value>
+        <name>hbase.coprocessor.master.classes</name>
+        <value></value>
     </property>
-    
+
     <property>
-      <name>hbase.hregion.max.filesize</name>
-      <value>10737418240</value>
+        <name>hbase.coprocessor.region.classes</name>
+        <value></value>
     </property>
-    
+
     <property>
-      <name>hbase.hregion.memstore.block.multiplier</name>
-      <value>4</value>
+        <name>hbase.defaults.for.version.skip</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hbase.hregion.memstore.flush.size</name>
-      <value>134217728</value>
+        <name>hbase.hregion.majorcompaction</name>
+        <value>604800000</value>
     </property>
-    
+
     <property>
-      <name>hbase.hregion.memstore.mslab.enabled</name>
-      <value>true</value>
+        <name>hbase.hregion.majorcompaction.jitter</name>
+        <value>0.50</value>
     </property>
-    
+
     <property>
-      <name>hbase.hstore.blockingStoreFiles</name>
-      <value>10</value>
+        <name>hbase.hregion.max.filesize</name>
+        <value>10737418240</value>
     </property>
-    
+
     <property>
-      <name>hbase.hstore.compactionThreshold</name>
-      <value>3</value>
+        <name>hbase.hregion.memstore.block.multiplier</name>
+        <value>4</value>
     </property>
-    
+
     <property>
-      <name>hbase.local.dir</name>
-      <value>${hbase.tmp.dir}/local</value>
+        <name>hbase.hregion.memstore.flush.size</name>
+        <value>134217728</value>
     </property>
-    
+
     <property>
-      <name>hbase.master.info.bindAddress</name>
-      <value>0.0.0.0</value>
+        <name>hbase.hregion.memstore.mslab.enabled</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hbase.master.info.port</name>
-      <value>60010</value>
+        <name>hbase.hstore.blockingStoreFiles</name>
+        <value>10</value>
     </property>
-    
+
     <property>
-      <name>hbase.master.port</name>
-      <value>60000</value>
+        <name>hbase.hstore.compactionThreshold</name>
+        <value>3</value>
     </property>
-    
+
     <property>
-      <name>hbase.regionserver.global.memstore.lowerLimit</name>
-      <value>0.38</value>
+        <name>hbase.local.dir</name>
+        <value>${hbase.tmp.dir}/local</value>
     </property>
-    
+
     <property>
-      <name>hbase.regionserver.global.memstore.upperLimit</name>
-      <value>0.4</value>
+        <name>hbase.master.info.bindAddress</name>
+        <value>0.0.0.0</value>
     </property>
-    
+
     <property>
-      <name>hbase.regionserver.handler.count</name>
-      <value>60</value>
+        <name>hbase.master.info.port</name>
+        <value>60010</value>
     </property>
-    
+
     <property>
-      <name>hbase.regionserver.info.port</name>
-      <value>60030</value>
+        <name>hbase.master.port</name>
+        <value>60000</value>
     </property>
-    
+
     <property>
-      <name>hbase.rootdir</name>
-      <value>hdfs://sandbox.hortonworks.com:8020/apps/hbase/data</value>
+        <name>hbase.regionserver.global.memstore.lowerLimit</name>
+        <value>0.38</value>
     </property>
-    
+
     <property>
-      <name>hbase.rpc.engine</name>
-      <value>org.apache.hadoop.hbase.ipc.SecureRpcEngine</value>
+        <name>hbase.regionserver.global.memstore.upperLimit</name>
+        <value>0.4</value>
     </property>
-    
+
     <property>
-      <name>hbase.rpc.protection</name>
-      <value>PRIVACY</value>
+        <name>hbase.regionserver.handler.count</name>
+        <value>60</value>
     </property>
-    
+
     <property>
-      <name>hbase.security.authentication</name>
-      <value>simple</value>
+        <name>hbase.regionserver.info.port</name>
+        <value>60030</value>
     </property>
-    
+
     <property>
-      <name>hbase.security.authorization</name>
-      <value>true</value>
+        <name>hbase.rootdir</name>
+        <value>hdfs://sandbox.hortonworks.com:8020/apps/hbase/data</value>
     </property>
-    
+
     <property>
-      <name>hbase.superuser</name>
-      <value>hbase</value>
+        <name>hbase.security.authentication</name>
+        <value>simple</value>
     </property>
-    
+
     <property>
-      <name>hbase.tmp.dir</name>
-      <value>/hadoop/hbase</value>
+        <name>hbase.security.authorization</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hbase.zookeeper.property.clientPort</name>
-      <value>2181</value>
+        <name>hbase.superuser</name>
+        <value>hbase</value>
     </property>
-    
+
     <property>
-      <name>hbase.zookeeper.quorum</name>
-      <value>sandbox.hortonworks.com</value>
+        <name>hbase.tmp.dir</name>
+        <value>/hadoop/hbase</value>
     </property>
-    
+
     <property>
-      <name>hbase.zookeeper.useMulti</name>
-      <value>true</value>
+        <name>hbase.zookeeper.property.clientPort</name>
+        <value>2181</value>
     </property>
-    
+
     <property>
-      <name>hbase_master_heapsize</name>
-      <value>250</value>
+        <name>hbase.zookeeper.quorum</name>
+        <value>sandbox.hortonworks.com</value>
     </property>
-    
+
     <property>
-      <name>hbase_regionserver_heapsize</name>
-      <value>250</value>
+        <name>hbase.zookeeper.useMulti</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hfile.block.cache.size</name>
-      <value>0.40</value>
+        <name>hfile.block.cache.size</name>
+        <value>0.40</value>
     </property>
-    
+
     <property>
-      <name>zookeeper.session.timeout</name>
-      <value>30000</value>
+        <name>zookeeper.session.timeout</name>
+        <value>30000</value>
     </property>
-    
+
     <property>
-      <name>zookeeper.znode.parent</name>
-      <value>/hbase-unsecure</value>
+        <name>zookeeper.znode.parent</name>
+        <value>/hbase-unsecure</value>
     </property>
-    
-  </configuration>
+
+</configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/hdfs-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hdfs-site.xml b/examples/test_case_data/sandbox/hdfs-site.xml
index a3cc33b..c9a3a6a 100644
--- a/examples/test_case_data/sandbox/hdfs-site.xml
+++ b/examples/test_case_data/sandbox/hdfs-site.xml
@@ -1,278 +1,241 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:30:31 2015-->
 <configuration>
-    
-    <property>
-      <name>dfs.block.access.token.enable</name>
-      <value>false</value>
-    </property>
-    
-    <property>
-      <name>dfs.block.size</name>
-      <value>34217472</value>
-    </property>
-    
-    <property>
-      <name>dfs.blockreport.initialDelay</name>
-      <value>120</value>
-    </property>
-    
-    <property>
-      <name>dfs.blocksize</name>
-      <value>134217728</value>
-    </property>
-    
+
     <property>
-      <name>dfs.client.read.shortcircuit</name>
-      <value>true</value>
+        <name>dfs.block.access.token.enable</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>dfs.client.read.shortcircuit.streams.cache.size</name>
-      <value>4096</value>
+        <name>dfs.blockreport.initialDelay</name>
+        <value>120</value>
     </property>
-    
+
     <property>
-      <name>dfs.cluster.administrators</name>
-      <value> hdfs</value>
+        <name>dfs.blocksize</name>
+        <value>134217728</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.address</name>
-      <value>0.0.0.0:50010</value>
+        <name>dfs.client.read.shortcircuit</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.balance.bandwidthPerSec</name>
-      <value>6250000</value>
+        <name>dfs.client.read.shortcircuit.streams.cache.size</name>
+        <value>4096</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.data.dir</name>
-      <value>/hadoop/hdfs/data</value>
-      <final>true</final>
+        <name>dfs.cluster.administrators</name>
+        <value> hdfs</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.data.dir.perm</name>
-      <value>750</value>
+        <name>dfs.datanode.address</name>
+        <value>0.0.0.0:50010</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.du.reserved</name>
-      <value>1073741824</value>
+        <name>dfs.datanode.balance.bandwidthPerSec</name>
+        <value>6250000</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.failed.volumes.tolerated</name>
-      <value>0</value>
-      <final>true</final>
+        <name>dfs.datanode.data.dir</name>
+        <value>/hadoop/hdfs/data</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.http.address</name>
-      <value>0.0.0.0:50075</value>
+        <name>dfs.datanode.data.dir.perm</name>
+        <value>750</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.https.address</name>
-      <value>0.0.0.0:50475</value>
+        <name>dfs.datanode.du.reserved</name>
+        <value>1073741824</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.ipc.address</name>
-      <value>0.0.0.0:8010</value>
+        <name>dfs.datanode.failed.volumes.tolerated</name>
+        <value>0</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.max.transfer.threads</name>
-      <value>1024</value>
+        <name>dfs.datanode.http.address</name>
+        <value>0.0.0.0:50075</value>
     </property>
-    
+
     <property>
-      <name>dfs.datanode.max.xcievers</name>
-      <value>1024</value>
+        <name>dfs.datanode.https.address</name>
+        <value>0.0.0.0:50475</value>
     </property>
-    
+
     <property>
-      <name>dfs.domain.socket.path</name>
-      <value>/var/lib/hadoop-hdfs/dn_socket</value>
+        <name>dfs.datanode.ipc.address</name>
+        <value>0.0.0.0:8010</value>
     </property>
-    
+
     <property>
-      <name>dfs.heartbeat.interval</name>
-      <value>3</value>
+        <name>dfs.datanode.max.transfer.threads</name>
+        <value>16384</value>
     </property>
-    
+
     <property>
-      <name>dfs.hosts.exclude</name>
-      <value>/etc/hadoop/conf/dfs.exclude</value>
+        <name>dfs.domain.socket.path</name>
+        <value>/var/lib/hadoop-hdfs/dn_socket</value>
     </property>
-    
+
     <property>
-      <name>dfs.http.policy</name>
-      <value>HTTP_ONLY</value>
+        <name>dfs.heartbeat.interval</name>
+        <value>3</value>
     </property>
-    
+
     <property>
-      <name>dfs.https.port</name>
-      <value>50470</value>
+        <name>dfs.hosts.exclude</name>
+        <value>/etc/hadoop/conf/dfs.exclude</value>
     </property>
-    
+
     <property>
-      <name>dfs.journalnode.edits.dir</name>
-      <value>/hadoop/hdfs/journalnode</value>
+        <name>dfs.http.policy</name>
+        <value>HTTP_ONLY</value>
     </property>
-    
+
     <property>
-      <name>dfs.journalnode.http-address</name>
-      <value>0.0.0.0:8480</value>
+        <name>dfs.https.port</name>
+        <value>50470</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.accesstime.precision</name>
-      <value>3600000</value>
+        <name>dfs.journalnode.edits.dir</name>
+        <value>/hadoop/hdfs/journalnode</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.avoid.read.stale.datanode</name>
-      <value>true</value>
+        <name>dfs.journalnode.http-address</name>
+        <value>0.0.0.0:8480</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.avoid.write.stale.datanode</name>
-      <value>true</value>
+        <name>dfs.namenode.accesstime.precision</name>
+        <value>0</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.checkpoint.dir</name>
-      <value>/hadoop/hdfs/namesecondary</value>
+        <name>dfs.namenode.avoid.read.stale.datanode</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.checkpoint.edits.dir</name>
-      <value>${dfs.namenode.checkpoint.dir}</value>
+        <name>dfs.namenode.avoid.write.stale.datanode</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.checkpoint.period</name>
-      <value>21600</value>
+        <name>dfs.namenode.checkpoint.dir</name>
+        <value>/hadoop/hdfs/namesecondary</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.checkpoint.txns</name>
-      <value>1000000</value>
+        <name>dfs.namenode.checkpoint.edits.dir</name>
+        <value>${dfs.namenode.checkpoint.dir}</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.handler.count</name>
-      <value>100</value>
+        <name>dfs.namenode.checkpoint.period</name>
+        <value>21600</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.http-address</name>
-      <value>sandbox.hortonworks.com:50070</value>
-      <final>true</final>
+        <name>dfs.namenode.checkpoint.txns</name>
+        <value>1000000</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.https-address</name>
-      <value>sandbox.hortonworks.com:50470</value>
+        <name>dfs.namenode.handler.count</name>
+        <value>40</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.name.dir</name>
-      <value>/hadoop/hdfs/namenode</value>
-      <final>true</final>
+        <name>dfs.namenode.http-address</name>
+        <value>sandbox.hortonworks.com:50070</value>
+        <final>true</final>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.name.dir.restore</name>
-      <value>true</value>
+        <name>dfs.namenode.https-address</name>
+        <value>sandbox.hortonworks.com:50470</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.safemode.threshold-pct</name>
-      <value>1.0f</value>
+        <name>dfs.namenode.name.dir</name>
+        <value>/hadoop/hdfs/namenode</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.secondary.http-address</name>
-      <value>sandbox.hortonworks.com:50090</value>
+        <name>dfs.namenode.name.dir.restore</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.stale.datanode.interval</name>
-      <value>30000</value>
+        <name>dfs.namenode.safemode.threshold-pct</name>
+        <value>1.0f</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.startup.delay.block.deletion.sec</name>
-      <value>3600</value>
+        <name>dfs.namenode.secondary.http-address</name>
+        <value>sandbox.hortonworks.com:50090</value>
     </property>
-    
+
     <property>
-      <name>dfs.namenode.write.stale.datanode.ratio</name>
-      <value>1.0f</value>
+        <name>dfs.namenode.stale.datanode.interval</name>
+        <value>30000</value>
     </property>
-    
+
     <property>
-      <name>dfs.nfs.exports.allowed.hosts</name>
-      <value>* rw</value>
+        <name>dfs.namenode.startup.delay.block.deletion.sec</name>
+        <value>3600</value>
     </property>
-    
+
     <property>
-      <name>dfs.nfs3.dump.dir</name>
-      <value>/tmp/.hdfs-nfs</value>
+        <name>dfs.namenode.write.stale.datanode.ratio</name>
+        <value>1.0f</value>
     </property>
-    
+
     <property>
-      <name>dfs.permissions.enabled</name>
-      <value>true</value>
+        <name>dfs.permissions.enabled</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>dfs.permissions.superusergroup</name>
-      <value>hdfs</value>
+        <name>dfs.permissions.superusergroup</name>
+        <value>hdfs</value>
     </property>
-    
+
     <property>
-      <name>dfs.replication</name>
-      <value>1</value>
+        <name>dfs.replication</name>
+        <value>3</value>
     </property>
-    
+
     <property>
-      <name>dfs.replication.max</name>
-      <value>50</value>
+        <name>dfs.replication.max</name>
+        <value>50</value>
     </property>
-    
+
     <property>
-      <name>dfs.support.append</name>
-      <value>true</value>
-      <final>true</final>
+        <name>dfs.support.append</name>
+        <value>true</value>
+        <final>true</final>
     </property>
-    
+
     <property>
-      <name>dfs.webhdfs.enabled</name>
-      <value>true</value>
-      <final>true</final>
+        <name>dfs.webhdfs.enabled</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>fs.permissions.umask-mode</name>
-      <value>022</value>
+        <name>fs.permissions.umask-mode</name>
+        <value>022</value>
     </property>
-    
-  </configuration>
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/hive-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/hive-site.xml b/examples/test_case_data/sandbox/hive-site.xml
index 8ec79ce..7efaf4f 100644
--- a/examples/test_case_data/sandbox/hive-site.xml
+++ b/examples/test_case_data/sandbox/hive-site.xml
@@ -1,807 +1,779 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:23:17 2015-->
 <configuration>
-    
-    <property>
-      <name>ambari.hive.db.schema.name</name>
-      <value>hive</value>
-    </property>
-    
-    <property>
-      <name>datanucleus.cache.level2.type</name>
-      <value>none</value>
-    </property>
-    
-    <property>
-      <name>hive.auto.convert.join</name>
-      <value>true</value>
-    </property>
-    
+
     <property>
-      <name>hive.auto.convert.join.noconditionaltask</name>
-      <value>true</value>
+        <name>ambari.hive.db.schema.name</name>
+        <value>hive</value>
     </property>
-    
+
     <property>
-      <name>hive.auto.convert.join.noconditionaltask.size</name>
-      <value>1000000000</value>
+        <name>datanucleus.cache.level2.type</name>
+        <value>none</value>
     </property>
-    
+
     <property>
-      <name>hive.auto.convert.sortmerge.join</name>
-      <value>true</value>
+        <name>hive.auto.convert.join</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.auto.convert.sortmerge.join.noconditionaltask</name>
-      <value>true</value>
+        <name>hive.auto.convert.join.noconditionaltask</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.auto.convert.sortmerge.join.to.mapjoin</name>
-      <value>false</value>
+        <name>hive.auto.convert.join.noconditionaltask.size</name>
+        <value>1251999744</value>
     </property>
-    
+
     <property>
-      <name>hive.cbo.enable</name>
-      <value>true</value>
+        <name>hive.auto.convert.sortmerge.join</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.cli.print.header</name>
-      <value>false</value>
+        <name>hive.auto.convert.sortmerge.join.noconditionaltask</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.cluster.delegation.token.store.class</name>
-      <value>org.apache.hadoop.hive.thrift.ZooKeeperTokenStore</value>
+        <name>hive.auto.convert.sortmerge.join.to.mapjoin</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.cluster.delegation.token.store.zookeeper.connectString</name>
-      <value>sandbox.hortonworks.com:2181</value>
+        <name>hive.cbo.enable</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.cluster.delegation.token.store.zookeeper.znode</name>
-      <value>/hive/cluster/delegation</value>
+        <name>hive.cli.print.header</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.compactor.abortedtxn.threshold</name>
-      <value>1000</value>
+        <name>hive.cluster.delegation.token.store.class</name>
+        <value>org.apache.hadoop.hive.thrift.ZooKeeperTokenStore</value>
     </property>
-    
+
     <property>
-      <name>hive.compactor.check.interval</name>
-      <value>300s</value>
+        <name>hive.cluster.delegation.token.store.zookeeper.connectString</name>
+        <value>sandbox.hortonworks.com:2181</value>
     </property>
-    
+
     <property>
-      <name>hive.compactor.delta.num.threshold</name>
-      <value>10</value>
+        <name>hive.cluster.delegation.token.store.zookeeper.znode</name>
+        <value>/hive/cluster/delegation</value>
     </property>
-    
+
     <property>
-      <name>hive.compactor.delta.pct.threshold</name>
-      <value>0.1f</value>
+        <name>hive.compactor.abortedtxn.threshold</name>
+        <value>1000</value>
     </property>
-    
+
     <property>
-      <name>hive.compactor.initiator.on</name>
-      <value>true</value>
+        <name>hive.compactor.check.interval</name>
+        <value>300L</value>
     </property>
-    
+
     <property>
-      <name>hive.compactor.worker.threads</name>
-      <value>0</value>
+        <name>hive.compactor.delta.num.threshold</name>
+        <value>10</value>
     </property>
-    
+
     <property>
-      <name>hive.compactor.worker.timeout</name>
-      <value>86400s</value>
+        <name>hive.compactor.delta.pct.threshold</name>
+        <value>0.1f</value>
     </property>
-    
+
     <property>
-      <name>hive.compute.query.using.stats</name>
-      <value>true</value>
+        <name>hive.compactor.initiator.on</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.conf.restricted.list</name>
-      <value>hive.security.authenticator.manager,hive.security.authorization.manager,hive.users.in.admin.role</value>
+        <name>hive.compactor.worker.threads</name>
+        <value>0</value>
     </property>
-    
+
     <property>
-      <name>hive.convert.join.bucket.mapjoin.tez</name>
-      <value>false</value>
+        <name>hive.compactor.worker.timeout</name>
+        <value>86400L</value>
     </property>
-    
+
     <property>
-      <name>hive.enforce.bucketing</name>
-      <value>true</value>
+        <name>hive.compute.query.using.stats</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.enforce.sorting</name>
-      <value>true</value>
+        <name>hive.conf.restricted.list</name>
+        <value>hive.security.authenticator.manager,hive.security.authorization.manager,hive.users.in.admin.role</value>
     </property>
-    
+
     <property>
-      <name>hive.enforce.sortmergebucketmapjoin</name>
-      <value>true</value>
+        <name>hive.convert.join.bucket.mapjoin.tez</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.compress.intermediate</name>
-      <value>false</value>
+        <name>hive.enforce.bucketing</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.compress.output</name>
-      <value>false</value>
+        <name>hive.enforce.sorting</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.dynamic.partition</name>
-      <value>true</value>
+        <name>hive.enforce.sortmergebucketmapjoin</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.dynamic.partition.mode</name>
-      <value>nonstrict</value>
+        <name>hive.exec.compress.intermediate</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.failure.hooks</name>
-      <value>org.apache.hadoop.hive.ql.hooks.ATSHook</value>
+        <name>hive.exec.compress.output</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.max.created.files</name>
-      <value>100000</value>
+        <name>hive.exec.dynamic.partition</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.max.dynamic.partitions</name>
-      <value>5000</value>
+        <name>hive.exec.dynamic.partition.mode</name>
+        <value>nonstrict</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.max.dynamic.partitions.pernode</name>
-      <value>2000</value>
+        <name>hive.exec.failure.hooks</name>
+        <value>org.apache.hadoop.hive.ql.hooks.ATSHook</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.orc.compression.strategy</name>
-      <value>SPEED</value>
+        <name>hive.exec.max.created.files</name>
+        <value>100000</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.orc.default.compress</name>
-      <value>ZLIB</value>
+        <name>hive.exec.max.dynamic.partitions</name>
+        <value>5000</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.orc.default.stripe.size</name>
-      <value>67108864</value>
+        <name>hive.exec.max.dynamic.partitions.pernode</name>
+        <value>2000</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.parallel</name>
-      <value>false</value>
+        <name>hive.exec.orc.compression.strategy</name>
+        <value>SPEED</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.parallel.thread.number</name>
-      <value>8</value>
+        <name>hive.exec.orc.default.compress</name>
+        <value>ZLIB</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.post.hooks</name>
-      <value>org.apache.hadoop.hive.ql.hooks.ATSHook</value>
+        <name>hive.exec.orc.default.stripe.size</name>
+        <value>67108864</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.pre.hooks</name>
-      <value>org.apache.hadoop.hive.ql.hooks.ATSHook</value>
+        <name>hive.exec.parallel</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.reducers.bytes.per.reducer</name>
-      <value>67108864</value>
+        <name>hive.exec.parallel.thread.number</name>
+        <value>8</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.reducers.max</name>
-      <value>1009</value>
+        <name>hive.exec.post.hooks</name>
+        <value>org.apache.hadoop.hive.ql.hooks.ATSHook</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.scratchdir</name>
-      <value>/tmp/hive</value>
+        <name>hive.exec.pre.hooks</name>
+        <value>org.apache.hadoop.hive.ql.hooks.ATSHook</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.submit.local.task.via.child</name>
-      <value>true</value>
+        <name>hive.exec.reducers.bytes.per.reducer</name>
+        <value>67108864</value>
     </property>
-    
+
     <property>
-      <name>hive.exec.submitviachild</name>
-      <value>false</value>
+        <name>hive.exec.reducers.max</name>
+        <value>1009</value>
     </property>
-    
+
     <property>
-      <name>hive.execution.engine</name>
-      <value>mr</value>
+        <name>hive.exec.scratchdir</name>
+        <value>/tmp/hive</value>
     </property>
-    
+
     <property>
-      <name>hive.fetch.task.aggr</name>
-      <value>false</value>
+        <name>hive.exec.submit.local.task.via.child</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.fetch.task.conversion</name>
-      <value>more</value>
+        <name>hive.exec.submitviachild</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.fetch.task.conversion.threshold</name>
-      <value>1073741824</value>
+        <name>hive.execution.engine</name>
+        <value>mr</value>
     </property>
-    
+
     <property>
-      <name>hive.heapsize</name>
-      <value>250</value>
+        <name>hive.fetch.task.aggr</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.limit.optimize.enable</name>
-      <value>true</value>
+        <name>hive.fetch.task.conversion</name>
+        <value>more</value>
     </property>
-    
+
     <property>
-      <name>hive.limit.pushdown.memory.usage</name>
-      <value>0.04</value>
+        <name>hive.fetch.task.conversion.threshold</name>
+        <value>1073741824</value>
     </property>
-    
+
     <property>
-      <name>hive.map.aggr</name>
-      <value>true</value>
+        <name>hive.heapsize</name>
+        <value>1024</value>
     </property>
-    
+
     <property>
-      <name>hive.map.aggr.hash.force.flush.memory.threshold</name>
-      <value>0.9</value>
+        <name>hive.limit.optimize.enable</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.map.aggr.hash.min.reduction</name>
-      <value>0.5</value>
+        <name>hive.limit.pushdown.memory.usage</name>
+        <value>0.04</value>
     </property>
-    
+
     <property>
-      <name>hive.map.aggr.hash.percentmemory</name>
-      <value>0.5</value>
+        <name>hive.map.aggr</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.mapjoin.bucket.cache.size</name>
-      <value>10000</value>
+        <name>hive.map.aggr.hash.force.flush.memory.threshold</name>
+        <value>0.9</value>
     </property>
-    
+
     <property>
-      <name>hive.mapjoin.optimized.hashtable</name>
-      <value>true</value>
+        <name>hive.map.aggr.hash.min.reduction</name>
+        <value>0.5</value>
     </property>
-    
+
     <property>
-      <name>hive.mapred.reduce.tasks.speculative.execution</name>
-      <value>false</value>
+        <name>hive.map.aggr.hash.percentmemory</name>
+        <value>0.5</value>
     </property>
-    
+
     <property>
-      <name>hive.merge.mapfiles</name>
-      <value>true</value>
+        <name>hive.mapjoin.bucket.cache.size</name>
+        <value>10000</value>
     </property>
-    
+
     <property>
-      <name>hive.merge.mapredfiles</name>
-      <value>false</value>
+        <name>hive.mapjoin.optimized.hashtable</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.merge.orcfile.stripe.level</name>
-      <value>true</value>
+        <name>hive.mapred.reduce.tasks.speculative.execution</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.merge.rcfile.block.level</name>
-      <value>true</value>
+        <name>hive.merge.mapfiles</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.merge.size.per.task</name>
-      <value>256000000</value>
+        <name>hive.merge.mapredfiles</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.merge.smallfiles.avgsize</name>
-      <value>16000000</value>
+        <name>hive.merge.orcfile.stripe.level</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.merge.tezfiles</name>
-      <value>false</value>
+        <name>hive.merge.rcfile.block.level</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.authorization.storage.checks</name>
-      <value>false</value>
+        <name>hive.merge.size.per.task</name>
+        <value>256000000</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.cache.pinobjtypes</name>
-      <value>Table,Database,Type,FieldSchema,Order</value>
+        <name>hive.merge.smallfiles.avgsize</name>
+        <value>16000000</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.client.connect.retry.delay</name>
-      <value>5s</value>
+        <name>hive.merge.tezfiles</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.client.socket.timeout</name>
-      <value>1800s</value>
+        <name>hive.metastore.authorization.storage.checks</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.connect.retries</name>
-      <value>24</value>
+        <name>hive.metastore.cache.pinobjtypes</name>
+        <value>Table,Database,Type,FieldSchema,Order</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.execute.setugi</name>
-      <value>true</value>
+        <name>hive.metastore.client.connect.retry.delay</name>
+        <value>5s</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.failure.retries</name>
-      <value>24</value>
+        <name>hive.metastore.client.socket.timeout</name>
+        <value>1800s</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.kerberos.keytab.file</name>
-      <value>/etc/security/keytabs/hive.service.keytab</value>
+        <name>hive.metastore.connect.retries</name>
+        <value>24</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.kerberos.principal</name>
-      <value>hive/_HOST@EXAMPLE.COM</value>
+        <name>hive.metastore.execute.setugi</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.pre.event.listeners</name>
-      <value>org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener</value>
+        <name>hive.metastore.failure.retries</name>
+        <value>24</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.sasl.enabled</name>
-      <value>false</value>
+        <name>hive.metastore.kerberos.keytab.file</name>
+        <value>/etc/security/keytabs/hive.service.keytab</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.server.max.threads</name>
-      <value>100000</value>
+        <name>hive.metastore.kerberos.principal</name>
+        <value>hive/_HOST@EXAMPLE.COM</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.uris</name>
-      <value>thrift://sandbox.hortonworks.com:9083</value>
+        <name>hive.metastore.pre.event.listeners</name>
+        <value>org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener</value>
     </property>
-    
+
     <property>
-      <name>hive.metastore.warehouse.dir</name>
-      <value>/apps/hive/warehouse</value>
+        <name>hive.metastore.sasl.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.bucketmapjoin</name>
-      <value>true</value>
+        <name>hive.metastore.server.max.threads</name>
+        <value>100000</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.bucketmapjoin.sortedmerge</name>
-      <value>false</value>
+        <name>hive.metastore.uris</name>
+        <value>thrift://sandbox.hortonworks.com:9083</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.constant.propagation</name>
-      <value>true</value>
+        <name>hive.metastore.warehouse.dir</name>
+        <value>/apps/hive/warehouse</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.index.filter</name>
-      <value>true</value>
+        <name>hive.optimize.bucketmapjoin</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.mapjoin.mapreduce</name>
-      <value>true</value>
+        <name>hive.optimize.bucketmapjoin.sortedmerge</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.metadataonly</name>
-      <value>true</value>
+        <name>hive.optimize.constant.propagation</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.null.scan</name>
-      <value>true</value>
+        <name>hive.optimize.index.filter</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.reducededuplication</name>
-      <value>true</value>
+        <name>hive.optimize.mapjoin.mapreduce</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.reducededuplication.min.reducer</name>
-      <value>4</value>
+        <name>hive.optimize.metadataonly</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.optimize.sort.dynamic.partition</name>
-      <value>false</value>
+        <name>hive.optimize.null.scan</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.orc.compute.splits.num.threads</name>
-      <value>10</value>
+        <name>hive.optimize.reducededuplication</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.orc.splits.include.file.footer</name>
-      <value>false</value>
+        <name>hive.optimize.reducededuplication.min.reducer</name>
+        <value>4</value>
     </property>
-    
+
     <property>
-      <name>hive.prewarm.enabled</name>
-      <value>false</value>
+        <name>hive.optimize.sort.dynamic.partition</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.prewarm.numcontainers</name>
-      <value>10</value>
+        <name>hive.orc.compute.splits.num.threads</name>
+        <value>10</value>
     </property>
-    
+
     <property>
-      <name>hive.security.authenticator.manager</name>
-      <value>org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator</value>
+        <name>hive.orc.splits.include.file.footer</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.security.authorization.enabled</name>
-      <value>false</value>
+        <name>hive.prewarm.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.security.authorization.manager</name>
-      <value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdConfOnlyAuthorizerFactory</value>
+        <name>hive.prewarm.numcontainers</name>
+        <value>10</value>
     </property>
-    
+
     <property>
-      <name>hive.security.metastore.authenticator.manager</name>
-      <value>org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator</value>
+        <name>hive.security.authenticator.manager</name>
+        <value>org.apache.hadoop.hive.ql.security.ProxyUserAuthenticator</value>
     </property>
-    
+
     <property>
-      <name>hive.security.metastore.authorization.auth.reads</name>
-      <value>true</value>
+        <name>hive.security.authorization.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.security.metastore.authorization.manager</name>
-      <value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider,org.apache.hadoop.hive.ql.security.authorization.MetaStoreAuthzAPIAuthorizerEmbedOnly</value>
+        <name>hive.security.authorization.manager</name>
+        <value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdConfOnlyAuthorizerFactory</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.allow.user.substitution</name>
-      <value>true</value>
+        <name>hive.security.metastore.authenticator.manager</name>
+        <value>org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.authentication</name>
-      <value>NONE</value>
+        <name>hive.security.metastore.authorization.auth.reads</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.authentication.spnego.keytab</name>
-      <value>HTTP/_HOST@EXAMPLE.COM</value>
+        <name>hive.security.metastore.authorization.manager</name>
+        <value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider,org.apache.hadoop.hive.ql.security.authorization.MetaStoreAuthzAPIAuthorizerEmbedOnly</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.authentication.spnego.principal</name>
-      <value>/etc/security/keytabs/spnego.service.keytab</value>
+        <name>hive.server2.allow.user.substitution</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.enable.doAs</name>
-      <value>false</value>
+        <name>hive.server2.authentication</name>
+        <value>NONE</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.enable.impersonation</name>
-      <value>true</value>
+        <name>hive.server2.authentication.spnego.keytab</name>
+        <value>HTTP/_HOST@EXAMPLE.COM</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.logging.operation.enabled</name>
-      <value>true</value>
+        <name>hive.server2.authentication.spnego.principal</name>
+        <value>/etc/security/keytabs/spnego.service.keytab</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.logging.operation.log.location</name>
-      <value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value>
+        <name>hive.server2.enable.doAs</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.support.dynamic.service.discovery</name>
-      <value>true</value>
+        <name>hive.server2.enable.impersonation</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.table.type.mapping</name>
-      <value>CLASSIC</value>
+        <name>hive.server2.logging.operation.enabled</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.tez.default.queues</name>
-      <value>default</value>
+        <name>hive.server2.logging.operation.log.location</name>
+        <value>${system:java.io.tmpdir}/${system:user.name}/operation_logs</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.tez.initialize.default.sessions</name>
-      <value>false</value>
+        <name>hive.server2.support.dynamic.service.discovery</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.tez.sessions.per.default.queue</name>
-      <value>1</value>
+        <name>hive.server2.table.type.mapping</name>
+        <value>CLASSIC</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.thrift.http.path</name>
-      <value>cliservice</value>
+        <name>hive.server2.tez.default.queues</name>
+        <value>default</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.thrift.http.port</name>
-      <value>10001</value>
+        <name>hive.server2.tez.initialize.default.sessions</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.thrift.max.worker.threads</name>
-      <value>500</value>
+        <name>hive.server2.tez.sessions.per.default.queue</name>
+        <value>1</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.thrift.port</name>
-      <value>10000</value>
+        <name>hive.server2.thrift.http.path</name>
+        <value>cliservice</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.thrift.sasl.qop</name>
-      <value>auth</value>
+        <name>hive.server2.thrift.http.port</name>
+        <value>10001</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.transport.mode</name>
-      <value>binary</value>
+        <name>hive.server2.thrift.max.worker.threads</name>
+        <value>500</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.use.SSL</name>
-      <value>false</value>
+        <name>hive.server2.thrift.port</name>
+        <value>10000</value>
     </property>
-    
+
     <property>
-      <name>hive.server2.zookeeper.namespace</name>
-      <value>hiveserver2</value>
+        <name>hive.server2.thrift.sasl.qop</name>
+        <value>auth</value>
     </property>
-    
+
     <property>
-      <name>hive.smbjoin.cache.rows</name>
-      <value>10000</value>
+        <name>hive.server2.transport.mode</name>
+        <value>binary</value>
     </property>
-    
+
     <property>
-      <name>hive.stats.autogather</name>
-      <value>true</value>
+        <name>hive.server2.use.SSL</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.stats.dbclass</name>
-      <value>fs</value>
+        <name>hive.server2.zookeeper.namespace</name>
+        <value>hiveserver2</value>
     </property>
-    
+
     <property>
-      <name>hive.stats.fetch.column.stats</name>
-      <value>false</value>
+        <name>hive.smbjoin.cache.rows</name>
+        <value>10000</value>
     </property>
-    
+
     <property>
-      <name>hive.stats.fetch.partition.stats</name>
-      <value>true</value>
+        <name>hive.stats.autogather</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.support.concurrency</name>
-      <value>true</value>
+        <name>hive.stats.dbclass</name>
+        <value>fs</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.auto.reducer.parallelism</name>
-      <value>false</value>
+        <name>hive.stats.fetch.column.stats</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.container.size</name>
-      <value>250</value>
+        <name>hive.stats.fetch.partition.stats</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.cpu.vcores</name>
-      <value>-1</value>
+        <name>hive.support.concurrency</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.dynamic.partition.pruning</name>
-      <value>true</value>
+        <name>hive.tez.auto.reducer.parallelism</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.dynamic.partition.pruning.max.data.size</name>
-      <value>104857600</value>
+        <name>hive.tez.container.size</name>
+        <value>3584</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.dynamic.partition.pruning.max.event.size</name>
-      <value>1048576</value>
+        <name>hive.tez.cpu.vcores</name>
+        <value>-1</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.input.format</name>
-      <value>org.apache.hadoop.hive.ql.io.HiveInputFormat</value>
+        <name>hive.tez.dynamic.partition.pruning</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.java.opts</name>
-      <value>-server -Xmx200m -Djava.net.preferIPv4Stack=true</value>
+        <name>hive.tez.dynamic.partition.pruning.max.data.size</name>
+        <value>104857600</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.log.level</name>
-      <value>INFO</value>
+        <name>hive.tez.dynamic.partition.pruning.max.event.size</name>
+        <value>1048576</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.max.partition.factor</name>
-      <value>2.0</value>
+        <name>hive.tez.input.format</name>
+        <value>org.apache.hadoop.hive.ql.io.HiveInputFormat</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.min.partition.factor</name>
-      <value>0.25</value>
+        <name>hive.tez.java.opts</name>
+        <value>-server -Xmx2868m -Djava.net.preferIPv4Stack=true -XX:NewRatio=8 -XX:+UseNUMA -XX:+UseParallelGC -XX:+PrintGCDetails -verbose:gc -XX:+PrintGCTimeStamps</value>
     </property>
-    
+
     <property>
-      <name>hive.tez.smb.number.waves</name>
-      <value>0.5</value>
+        <name>hive.tez.log.level</name>
+        <value>INFO</value>
     </property>
-    
+
     <property>
-      <name>hive.txn.manager</name>
-      <value>org.apache.hadoop.hive.ql.lockmgr.DbTxnManager</value>
+        <name>hive.tez.max.partition.factor</name>
+        <value>2.0</value>
     </property>
-    
+
     <property>
-      <name>hive.txn.max.open.batch</name>
-      <value>1000</value>
+        <name>hive.tez.min.partition.factor</name>
+        <value>0.25</value>
     </property>
-    
+
     <property>
-      <name>hive.txn.timeout</name>
-      <value>300</value>
+        <name>hive.tez.smb.number.waves</name>
+        <value>0.5</value>
     </property>
-    
+
     <property>
-      <name>hive.user.install.directory</name>
-      <value>/user/</value>
+        <name>hive.txn.manager</name>
+        <value>org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager</value>
     </property>
-    
+
     <property>
-      <name>hive.users.in.admin.role</name>
-      <value>hue,hive</value>
+        <name>hive.txn.max.open.batch</name>
+        <value>1000</value>
     </property>
-    
+
     <property>
-      <name>hive.vectorized.execution.enabled</name>
-      <value>true</value>
+        <name>hive.txn.timeout</name>
+        <value>300</value>
     </property>
-    
+
     <property>
-      <name>hive.vectorized.execution.reduce.enabled</name>
-      <value>false</value>
+        <name>hive.user.install.directory</name>
+        <value>/user/</value>
     </property>
-    
+
     <property>
-      <name>hive.vectorized.groupby.checkinterval</name>
-      <value>4096</value>
+        <name>hive.vectorized.execution.enabled</name>
+        <value>true</value>
     </property>
-    
+
     <property>
-      <name>hive.vectorized.groupby.flush.percent</name>
-      <value>0.1</value>
+        <name>hive.vectorized.execution.reduce.enabled</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>hive.vectorized.groupby.maxentries</name>
-      <value>100000</value>
+        <name>hive.vectorized.groupby.checkinterval</name>
+        <value>4096</value>
     </property>
-    
+
     <property>
-      <name>hive.zookeeper.client.port</name>
-      <value>2181</value>
+        <name>hive.vectorized.groupby.flush.percent</name>
+        <value>0.1</value>
     </property>
-    
+
     <property>
-      <name>hive.zookeeper.namespace</name>
-      <value>hive_zookeeper_namespace</value>
+        <name>hive.vectorized.groupby.maxentries</name>
+        <value>100000</value>
     </property>
-    
+
     <property>
-      <name>hive.zookeeper.quorum</name>
-      <value>sandbox.hortonworks.com:2181</value>
+        <name>hive.zookeeper.client.port</name>
+        <value>2181</value>
     </property>
-    
+
     <property>
-      <name>hive_metastore_user_passwd</name>
-      <value>hive</value>
+        <name>hive.zookeeper.namespace</name>
+        <value>hive_zookeeper_namespace</value>
     </property>
-    
+
     <property>
-      <name>javax.jdo.option.ConnectionDriverName</name>
-      <value>com.mysql.jdbc.Driver</value>
+        <name>hive.zookeeper.quorum</name>
+        <value>sandbox.hortonworks.com:2181</value>
     </property>
-    
+
     <property>
-      <name>javax.jdo.option.ConnectionPassword</name>
-      <value>hive</value>
+        <name>javax.jdo.option.ConnectionDriverName</name>
+        <value>com.mysql.jdbc.Driver</value>
     </property>
-    
+
     <property>
-      <name>javax.jdo.option.ConnectionURL</name>
-      <value>jdbc:mysql://sandbox.hortonworks.com/hive?createDatabaseIfNotExist=true</value>
+        <name>javax.jdo.option.ConnectionURL</name>
+        <value>jdbc:mysql://sandbox.hortonworks.com/hive?createDatabaseIfNotExist=true</value>
     </property>
-    
+
     <property>
-      <name>javax.jdo.option.ConnectionUserName</name>
-      <value>hive</value>
+        <name>javax.jdo.option.ConnectionUserName</name>
+        <value>hive</value>
     </property>
-    
-  </configuration>
+
+</configuration>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/c875bba5/examples/test_case_data/sandbox/mapred-site.xml
----------------------------------------------------------------------
diff --git a/examples/test_case_data/sandbox/mapred-site.xml b/examples/test_case_data/sandbox/mapred-site.xml
index 066d0c1..674643a 100644
--- a/examples/test_case_data/sandbox/mapred-site.xml
+++ b/examples/test_case_data/sandbox/mapred-site.xml
@@ -1,252 +1,219 @@
-<!--
-  Licensed 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. See accompanying LICENSE file.
--->
-
+<!--Mon May 25 01:30:55 2015-->
 <configuration>
-    
-    <property>
-      <name>io.sort.mb</name>
-      <value>64</value>
-    </property>
-    
-    <property>
-      <name>mapred.child.java.opts</name>
-      <value>-Xmx200m</value>
-    </property>
-    
-    <property>
-      <name>mapred.job.map.memory.mb</name>
-      <value>250</value>
-    </property>
-    
-    <property>
-      <name>mapred.job.reduce.memory.mb</name>
-      <value>250</value>
-    </property>
-    
+
     <property>
-      <name>mapreduce.admin.map.child.java.opts</name>
-      <value>-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}</value>
+        <name>mapreduce.admin.map.child.java.opts</name>
+        <value>-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.admin.reduce.child.java.opts</name>
-      <value>-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}</value>
+        <name>mapreduce.admin.reduce.child.java.opts</name>
+        <value>-server -XX:NewRatio=8 -Djava.net.preferIPv4Stack=true -Dhdp.version=${hdp.version}</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.admin.user.env</name>
-      <value>LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64</value>
+        <name>mapreduce.admin.user.env</name>
+        <value>LD_LIBRARY_PATH=/usr/hdp/${hdp.version}/hadoop/lib/native:/usr/hdp/${hdp.version}/hadoop/lib/native/Linux-amd64-64</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.am.max-attempts</name>
-      <value>2</value>
+        <name>mapreduce.am.max-attempts</name>
+        <value>2</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.application.classpath</name>
-      <value>$HADOOP_CONF_DIR,/usr/hdp/current/hive-client/conf/,/usr/hdp/${hdp.version}/hive/lib/hive-metastore.jar,/usr/hdp/${hdp.version}/hive/lib/hive-exec.jar,/usr/hdp/${hdp.version}/hive-hcatalog/share/hcatalog/*,$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*,$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*,$PWD/mr-framework/hadoop/share/hadoop/common/*,$PWD/mr-framework/hadoop/share/hadoop/common/lib/*,$PWD/mr-framework/hadoop/share/hadoop/yarn/*,$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*,$PWD/mr-framework/hadoop/share/hadoop/hdfs/*,$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*,/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar,/etc/hadoop/conf/secure</value>
+        <name>mapreduce.application.classpath</name>
+        <value>/tmp/kylin/*,$HADOOP_CONF_DIR,/usr/hdp/current/hive-client/conf/,/usr/hdp/${hdp.version}/hive/lib/hive-metastore.jar,/usr/hdp/${hdp.version}/hive/lib/hive-exec.jar,/usr/hdp/${hdp.version}/hive-hcatalog/share/hcatalog/*,$PWD/mr-framework/hadoop/share/hadoop/mapreduce/*:$PWD/mr-framework/hadoop/share/hadoop/mapreduce/lib/*:$PWD/mr-framework/hadoop/share/hadoop/common/*:$PWD/mr-framework/hadoop/share/hadoop/common/lib/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/*:$PWD/mr-framework/hadoop/share/hadoop/yarn/lib/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/*:$PWD/mr-framework/hadoop/share/hadoop/hdfs/lib/*:/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar:/etc/hadoop/conf/secure</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.application.framework.path</name>
-      <value>/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework</value>
+        <name>mapreduce.application.framework.path</name>
+        <value>/hdp/apps/${hdp.version}/mapreduce/mapreduce.tar.gz#mr-framework</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.cluster.administrators</name>
-      <value> hadoop</value>
+        <name>mapreduce.cluster.administrators</name>
+        <value> hadoop</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.framework.name</name>
-      <value>yarn</value>
+        <name>mapreduce.framework.name</name>
+        <value>yarn</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.job.emit-timeline-data</name>
-      <value>false</value>
+        <name>mapreduce.job.emit-timeline-data</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.job.reduce.slowstart.completedmaps</name>
-      <value>0.05</value>
+        <name>mapreduce.job.reduce.slowstart.completedmaps</name>
+        <value>0.05</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.jobhistory.address</name>
-      <value>sandbox.hortonworks.com:10020</value>
+        <name>mapreduce.jobhistory.address</name>
+        <value>sandbox.hortonworks.com:10020</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.jobhistory.bind-host</name>
-      <value>0.0.0.0</value>
+        <name>mapreduce.jobhistory.bind-host</name>
+        <value>0.0.0.0</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.jobhistory.done-dir</name>
-      <value>/mr-history/done</value>
+        <name>mapreduce.jobhistory.done-dir</name>
+        <value>/mr-history/done</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.jobhistory.intermediate-done-dir</name>
-      <value>/mr-history/tmp</value>
+        <name>mapreduce.jobhistory.intermediate-done-dir</name>
+        <value>/mr-history/tmp</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.jobhistory.webapp.address</name>
-      <value>sandbox.hortonworks.com:19888</value>
+        <name>mapreduce.jobhistory.webapp.address</name>
+        <value>sandbox.hortonworks.com:19888</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.map.java.opts</name>
-      <value>-Xmx200m</value>
+        <name>mapreduce.map.java.opts</name>
+        <value>-Xmx2867m</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.map.log.level</name>
-      <value>INFO</value>
+        <name>mapreduce.map.log.level</name>
+        <value>INFO</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.map.memory.mb</name>
-      <value>250</value>
+        <name>mapreduce.map.memory.mb</name>
+        <value>3584</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.map.output.compress</name>
-      <value>false</value>
+        <name>mapreduce.map.output.compress</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.map.sort.spill.percent</name>
-      <value>0.7</value>
+        <name>mapreduce.map.sort.spill.percent</name>
+        <value>0.7</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.map.speculative</name>
-      <value>false</value>
+        <name>mapreduce.map.speculative</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.output.fileoutputformat.compress</name>
-      <value>false</value>
+        <name>mapreduce.output.fileoutputformat.compress</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.output.fileoutputformat.compress.type</name>
-      <value>BLOCK</value>
+        <name>mapreduce.output.fileoutputformat.compress.type</name>
+        <value>BLOCK</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.input.buffer.percent</name>
-      <value>0.0</value>
+        <name>mapreduce.reduce.input.buffer.percent</name>
+        <value>0.0</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.java.opts</name>
-      <value>-Xmx200m</value>
+        <name>mapreduce.reduce.java.opts</name>
+        <value>-Xmx2867m</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.log.level</name>
-      <value>INFO</value>
+        <name>mapreduce.reduce.log.level</name>
+        <value>INFO</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.memory.mb</name>
-      <value>250</value>
+        <name>mapreduce.reduce.memory.mb</name>
+        <value>3584</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.shuffle.fetch.retry.enabled</name>
-      <value>1</value>
+        <name>mapreduce.reduce.shuffle.fetch.retry.enabled</name>
+        <value>1</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.shuffle.fetch.retry.interval-ms</name>
-      <value>1000</value>
+        <name>mapreduce.reduce.shuffle.fetch.retry.interval-ms</name>
+        <value>1000</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.shuffle.fetch.retry.timeout-ms</name>
-      <value>30000</value>
+        <name>mapreduce.reduce.shuffle.fetch.retry.timeout-ms</name>
+        <value>30000</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.shuffle.input.buffer.percent</name>
-      <value>0.7</value>
+        <name>mapreduce.reduce.shuffle.input.buffer.percent</name>
+        <value>0.7</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.shuffle.merge.percent</name>
-      <value>0.66</value>
+        <name>mapreduce.reduce.shuffle.merge.percent</name>
+        <value>0.66</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.shuffle.parallelcopies</name>
-      <value>30</value>
+        <name>mapreduce.reduce.shuffle.parallelcopies</name>
+        <value>30</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.reduce.speculative</name>
-      <value>false</value>
+        <name>mapreduce.reduce.speculative</name>
+        <value>false</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.shuffle.port</name>
-      <value>13562</value>
+        <name>mapreduce.shuffle.port</name>
+        <value>13562</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.task.io.sort.factor</name>
-      <value>100</value>
+        <name>mapreduce.task.io.sort.factor</name>
+        <value>100</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.task.io.sort.mb</name>
-      <value>64</value>
+        <name>mapreduce.task.io.sort.mb</name>
+        <value>1024</value>
     </property>
-    
+
     <property>
-      <name>mapreduce.task.timeout</name>
-      <value>300000</value>
+        <name>mapreduce.task.timeout</name>
+        <value>300000</value>
     </property>
-    
+
     <property>
-      <name>yarn.app.mapreduce.am.admin-command-opts</name>
-      <value>-Dhdp.version=${hdp.version}</value>
+        <name>yarn.app.mapreduce.am.admin-command-opts</name>
+        <value>-Dhdp.version=${hdp.version}</value>
     </property>
-    
+
     <property>
-      <name>yarn.app.mapreduce.am.command-opts</name>
-      <value>-Xmx200m</value>
+        <name>yarn.app.mapreduce.am.command-opts</name>
+        <value>-Xmx2867m -Dhdp.version=${hdp.version}</value>
     </property>
-    
+
     <property>
-      <name>yarn.app.mapreduce.am.log.level</name>
-      <value>INFO</value>
+        <name>yarn.app.mapreduce.am.log.level</name>
+        <value>INFO</value>
     </property>
-    
+
     <property>
-      <name>yarn.app.mapreduce.am.resource.mb</name>
-      <value>250</value>
+        <name>yarn.app.mapreduce.am.resource.mb</name>
+        <value>3584</value>
     </property>
-    
+
     <property>
-      <name>yarn.app.mapreduce.am.staging-dir</name>
-      <value>/user</value>
+        <name>yarn.app.mapreduce.am.staging-dir</name>
+        <value>/user</value>
     </property>
-    
-  </configuration>
+
+</configuration>


[05/49] incubator-kylin git commit: add SQL reference in readme

Posted by lu...@apache.org.
add SQL reference in readme


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

Branch: refs/heads/0.7.1
Commit: aa3b1d2ca52721015dde3b9468245bb17714260b
Parents: 46e3700
Author: Li, Yang <ya...@ebay.com>
Authored: Fri May 22 15:55:28 2015 +0800
Committer: Li, Yang <ya...@ebay.com>
Committed: Fri May 22 15:55:28 2015 +0800

----------------------------------------------------------------------
 README.md | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/aa3b1d2c/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 144e01b..9131162 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,8 @@ Advanced Topics
 
 2.[Kylin ODBC Driver Tutorial](docs/Tutorial/Kylin ODBC Driver Tutorial.md) 
 
+3.[SQL Reference](https://github.com/apache/incubator-calcite/blob/master/doc/reference.md)
+
 ####REST
 
 1.[Kylin Restful API List](docs/REST/Kylin Restful API List.md)


[09/49] incubator-kylin git commit: update website structure and content

Posted by lu...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/docs/index.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.html b/docs/website/docs/index.html
new file mode 100644
index 0000000..095d16a
--- /dev/null
+++ b/docs/website/docs/index.html
@@ -0,0 +1,108 @@
+---
+layout: docs
+title: Docs
+---
+
+<!--
+* 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.
+-->
+  
+<main id="main" >
+  <div class="container" >
+    <div id="zero" class=" main" >
+      <header style=" padding:2em 0 4em 0">
+        <div class="container" >
+
+         
+     <div id="content-container" class="animated fadeIn">
+       
+
+<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
+<p class="content-p">
+If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
+</p>
+
+<hr/>
+ 
+<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
+<p class="content-p">
+The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
+</p>
+<hr/>
+ 
+<p class="content-header">What is MOLAP/ROLAP?</p>
+<p class="content-p">
+MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
+ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
+</p>
+<hr/>
+
+<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
+<p class="content-p">
+Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
+If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
+If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
+Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
+</p>
+<hr/>
+<p class="content-header">What does a Kylin query look like?</p>
+<p class="content-p">
+Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
+<div align="left">
+
+<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
+</div>
+<hr/>
+
+<p class="content-header">What Hadoop components does it work with?</p>
+<p class="content-p">
+Kylin depends on HDFS, MapReduce, Hive and HBase.
+Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
+HDFS is used to store intermediated files during cube building.
+HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
+</p>
+<hr/>
+
+<!-- Migrate wiki to here 
+<p class="content-header">Where can I find the technical details about Kylin?</p>
+<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin Wiki</a></p>
+
+-->
+
+     </div>
+         
+         </div><!--end of rightcontent-->
+         
+         </div><!--end of row-->
+        </div>
+        <!-- /container --> 
+        
+        
+        
+      </header>
+    </div>
+    <!-- / section --> 
+  </div>
+  <!-- /container -->
+ 
+
+  
+
+      
+    </header>
+  </section>
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/docs/index.html~
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.html~ b/docs/website/docs/index.html~
new file mode 100644
index 0000000..5a1f2e8
--- /dev/null
+++ b/docs/website/docs/index.html~
@@ -0,0 +1,109 @@
+---
+layout: docs
+title: Docs
+---
+
+<!--
+* 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.
+-->
+  
+<main id="main" >
+  <div class="container" >
+    <div id="zero" class=" main" >
+      <header style=" padding:2em 0 4em 0">
+        <div class="container" >
+          <h4 class="section-title"><span>Kylin Docs</span></h4>
+
+         
+     <div id="content-container" class="animated fadeIn">
+       
+
+<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
+<p class="content-p">
+If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
+</p>
+
+<hr/>
+ 
+<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
+<p class="content-p">
+The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
+</p>
+<hr/>
+ 
+<p class="content-header">What is MOLAP/ROLAP?</p>
+<p class="content-p">
+MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
+ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
+</p>
+<hr/>
+
+<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
+<p class="content-p">
+Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
+If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
+If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
+Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
+</p>
+<hr/>
+<p class="content-header">What does a Kylin query look like?</p>
+<p class="content-p">
+Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
+<div align="left">
+
+<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
+</div>
+<hr/>
+
+<p class="content-header">What Hadoop components does it work with?</p>
+<p class="content-p">
+Kylin depends on HDFS, MapReduce, Hive and HBase.
+Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
+HDFS is used to store intermediated files during cube building.
+HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
+</p>
+<hr/>
+
+<!-- Migrate wiki to here 
+<p class="content-header">Where can I find the technical details about Kylin?</p>
+<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin Wiki</a></p>
+
+-->
+
+     </div>
+         
+         </div><!--end of rightcontent-->
+         
+         </div><!--end of row-->
+        </div>
+        <!-- /container --> 
+        
+        
+        
+      </header>
+    </div>
+    <!-- / section --> 
+  </div>
+  <!-- /container -->
+ 
+
+  
+
+      
+    </header>
+  </section>
+</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/docs/installation-content.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/installation-content.html b/docs/website/docs/installation-content.html
new file mode 100644
index 0000000..536f64d
--- /dev/null
+++ b/docs/website/docs/installation-content.html
@@ -0,0 +1,34 @@
+---
+layout: default
+title: Docs
+---
+
+<!--
+* 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.
+-->
+
+<p class="content-header" style="margin-top:0.25em">On Hadoop CLI installation</p>
+<p class="content-p">
+On-Hadoop-CLI installation is for demo use, or for those who want to host their own web site to provide Kylin service: <br/>
+<a href="https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation">On Hadoop CLI installation Wiki</a>
+</p>
+<br/>
+<p class="content-header" style="margin-top:0.25em">Off Hadoop CLI Installation</p>
+<p class="content-p">Off-Hadoop-CLI installation is usually for devlopment use, when developpers want to run kylin test cases or applications at their development machine: 
+<br/><a href="https://github.com/KylinOLAP/Kylin/wiki/Off-Hadoop-CLI-Installation">Off Hadoop CLI Installation Wiki</a>
+</p>
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/docs/installation-content.html~
----------------------------------------------------------------------
diff --git a/docs/website/docs/installation-content.html~ b/docs/website/docs/installation-content.html~
new file mode 100644
index 0000000..38ffdaf
--- /dev/null
+++ b/docs/website/docs/installation-content.html~
@@ -0,0 +1,34 @@
+<!--
+* 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.
+-->
+
+---
+layout: default
+title: Docs
+---
+
+<p class="content-header" style="margin-top:0.25em">On Hadoop CLI installation</p>
+<p class="content-p">
+On-Hadoop-CLI installation is for demo use, or for those who want to host their own web site to provide Kylin service: <br/>
+<a href="https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation">On Hadoop CLI installation Wiki</a>
+</p>
+<br/>
+<p class="content-header" style="margin-top:0.25em">Off Hadoop CLI Installation</p>
+<p class="content-p">Off-Hadoop-CLI installation is usually for devlopment use, when developpers want to run kylin test cases or applications at their development machine: 
+<br/><a href="https://github.com/KylinOLAP/Kylin/wiki/Off-Hadoop-CLI-Installation">Off Hadoop CLI Installation Wiki</a>
+</p>
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/docs/intro-content.html
----------------------------------------------------------------------
diff --git a/docs/website/docs/intro-content.html b/docs/website/docs/intro-content.html
new file mode 100644
index 0000000..34d759f
--- /dev/null
+++ b/docs/website/docs/intro-content.html
@@ -0,0 +1,72 @@
+---
+layout: default
+title: Docs
+---
+
+<!--
+* 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.
+-->
+
+<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
+<p class="content-p">
+If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
+</p>
+
+<hr/>
+ 
+<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
+<p class="content-p">
+The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
+</p>
+<hr/>
+ 
+<p class="content-header">What is MOLAP/ROLAP?</p>
+<p class="content-p">
+MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
+ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
+</p>
+<hr/>
+
+<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
+<p class="content-p">
+Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
+If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
+If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
+Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
+</p>
+<hr/>
+<p class="content-header">What does a Kylin query look like?</p>
+<p class="content-p">
+Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
+<div align="left">
+
+<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
+</div>
+<hr/>
+
+<p class="content-header">What Hadoop components does it work with?</p>
+<p class="content-p">
+Kylin depends on HDFS, MapReduce, Hive and HBase.
+Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
+HDFS is used to store intermediated files during cube building.
+HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
+</p>
+<hr/>
+
+<p class="content-header">Where can I find the technical details about Kylin?</p>
+<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin OLAP</a></p>
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/docs/intro-content.html~
----------------------------------------------------------------------
diff --git a/docs/website/docs/intro-content.html~ b/docs/website/docs/intro-content.html~
new file mode 100644
index 0000000..0c96388
--- /dev/null
+++ b/docs/website/docs/intro-content.html~
@@ -0,0 +1,72 @@
+<!--
+* 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.
+-->
+
+---
+layout: default
+title: Docs
+---
+
+<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
+<p class="content-p">
+If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
+</p>
+
+<hr/>
+ 
+<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
+<p class="content-p">
+The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
+</p>
+<hr/>
+ 
+<p class="content-header">What is MOLAP/ROLAP?</p>
+<p class="content-p">
+MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
+ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
+</p>
+<hr/>
+
+<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
+<p class="content-p">
+Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
+If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
+If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
+Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
+</p>
+<hr/>
+<p class="content-header">What does a Kylin query look like?</p>
+<p class="content-p">
+Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
+<div align="left">
+
+<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
+</div>
+<hr/>
+
+<p class="content-header">What Hadoop components does it work with?</p>
+<p class="content-p">
+Kylin depends on HDFS, MapReduce, Hive and HBase.
+Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
+HDFS is used to store intermediated files during cube building.
+HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
+</p>
+<hr/>
+
+<p class="content-header">Where can I find the technical details about Kylin?</p>
+<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin OLAP</a></p>
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/1 action-build.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/1 action-build.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/1 action-build.png
new file mode 100644
index 0000000..136b3de
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/1 action-build.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/2 pop-up.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/2 pop-up.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/2 pop-up.png
new file mode 100644
index 0000000..8bae515
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/2 pop-up.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/3 end-date.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/3 end-date.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/3 end-date.png
new file mode 100644
index 0000000..e102bd8
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/3 end-date.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4 submit.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4 submit.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4 submit.png
new file mode 100644
index 0000000..3dc0c7e
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4 submit.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4.1 success.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4.1 success.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4.1 success.png
new file mode 100644
index 0000000..00a944c
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/4.1 success.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/5 jobs-page.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/5 jobs-page.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/5 jobs-page.png
new file mode 100644
index 0000000..175d231
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/5 jobs-page.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/6 discard.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/6 discard.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/6 discard.png
new file mode 100644
index 0000000..792d1b6
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/6 discard.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/7 job-steps.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/7 job-steps.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/7 job-steps.png
new file mode 100644
index 0000000..664b097
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/7 job-steps.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/8 hover-step.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/8 hover-step.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/8 hover-step.png
new file mode 100644
index 0000000..ffd6750
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/8 hover-step.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log-d.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log-d.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log-d.png
new file mode 100644
index 0000000..dae85c9
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log-d.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log.png
new file mode 100644
index 0000000..b844ad4
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 log.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob-d.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob-d.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob-d.png
new file mode 100644
index 0000000..e57ae2e
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob-d.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob.png
new file mode 100644
index 0000000..2621695
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 mrjob.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters-d.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters-d.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters-d.png
new file mode 100644
index 0000000..f4fd6d4
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters-d.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters.png b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters.png
new file mode 100644
index 0000000..1b6053f
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Build-and-Job-Monitoring-Tutorial/9 parameters.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/1 manage-prject.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/1 manage-prject.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/1 manage-prject.png
new file mode 100644
index 0000000..0127f7a
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/1 manage-prject.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/10 filter.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/10 filter.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/10 filter.png
new file mode 100644
index 0000000..6ae086b
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/10 filter.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/11 refresh-setting1.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/11 refresh-setting1.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/11 refresh-setting1.png
new file mode 100644
index 0000000..5fedf87
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/11 refresh-setting1.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/11 refresh-setting2.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/11 refresh-setting2.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/11 refresh-setting2.png
new file mode 100644
index 0000000..8f2dd0e
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/11 refresh-setting2.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/12 advanced.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/12 advanced.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/12 advanced.png
new file mode 100644
index 0000000..7663ac3
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/12 advanced.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/13 overview.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/13 overview.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/13 overview.png
new file mode 100644
index 0000000..a86c269
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/13 overview.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/2 +project.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/2 +project.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/2 +project.png
new file mode 100644
index 0000000..8b36313
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/2 +project.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/3 new-project.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/3 new-project.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/3 new-project.png
new file mode 100644
index 0000000..dcb574b
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/3 new-project.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/3.1 pj-created.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/3.1 pj-created.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/3.1 pj-created.png
new file mode 100644
index 0000000..aabaea8
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/3.1 pj-created.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/4 +table.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/4 +table.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/4 +table.png
new file mode 100644
index 0000000..5e8d896
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/4 +table.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/5 hive-table.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/5 hive-table.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/5 hive-table.png
new file mode 100644
index 0000000..7b4d67a
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/5 hive-table.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/6 +cube.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/6 +cube.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/6 +cube.png
new file mode 100644
index 0000000..b5e3cc9
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/6 +cube.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/7 cube-info.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/7 cube-info.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/7 cube-info.png
new file mode 100644
index 0000000..51bbc0e
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/7 cube-info.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-+dim.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-+dim.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-+dim.png
new file mode 100644
index 0000000..f4b835e
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-+dim.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-edit.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-edit.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-edit.png
new file mode 100644
index 0000000..6fe3846
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-edit.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-factable.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-factable.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-factable.png
new file mode 100644
index 0000000..6994f11
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-factable.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeA.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeA.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeA.png
new file mode 100644
index 0000000..f7c042f
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeA.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-1.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-1.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-1.png
new file mode 100644
index 0000000..bb19bb9
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-1.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-2.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-2.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-2.png
new file mode 100644
index 0000000..95f80b6
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeB-2.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeC.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeC.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeC.png
new file mode 100644
index 0000000..1bf1c93
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeC.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeD.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeD.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeD.png
new file mode 100644
index 0000000..430f0fb
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/8 dim-typeD.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-+meas.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-+meas.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-+meas.png
new file mode 100644
index 0000000..8c0ab35
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-+meas.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-count.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-count.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-count.png
new file mode 100644
index 0000000..af24812
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-count.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-distinct.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-distinct.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-distinct.png
new file mode 100644
index 0000000..6772d03
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-distinct.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-max.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-max.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-max.png
new file mode 100644
index 0000000..9c8e599
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-max.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-min.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-min.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-min.png
new file mode 100644
index 0000000..6ddab38
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-min.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-sum.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-sum.png b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-sum.png
new file mode 100644
index 0000000..09cfbab
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Creation-Tutorial/9 meas-sum.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/14 +grant.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/14 +grant.png b/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/14 +grant.png
new file mode 100644
index 0000000..ad65a01
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/14 +grant.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/15 grantInfo.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/15 grantInfo.png b/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/15 grantInfo.png
new file mode 100644
index 0000000..1a393d6
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/15 grantInfo.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/16 grant-user.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/16 grant-user.png b/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/16 grant-user.png
new file mode 100644
index 0000000..5bcc2ff
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/16 grant-user.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/16 user-update.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/16 user-update.png b/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/16 user-update.png
new file mode 100644
index 0000000..98ea4d3
Binary files /dev/null and b/docs/website/images/Kylin-Cube-Permission-Grant-Tutorial/16 user-update.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/1 login.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/1 login.png b/docs/website/images/Kylin-Web-Tutorial/1 login.png
new file mode 100644
index 0000000..8356341
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/1 login.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/10 query-result.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/10 query-result.png b/docs/website/images/Kylin-Web-Tutorial/10 query-result.png
new file mode 100644
index 0000000..7445314
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/10 query-result.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/11 save-query-2.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/11 save-query-2.png b/docs/website/images/Kylin-Web-Tutorial/11 save-query-2.png
new file mode 100644
index 0000000..5ce14d5
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/11 save-query-2.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/11 save-query.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/11 save-query.png b/docs/website/images/Kylin-Web-Tutorial/11 save-query.png
new file mode 100644
index 0000000..ab63aa7
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/11 save-query.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/12 general.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/12 general.png b/docs/website/images/Kylin-Web-Tutorial/12 general.png
new file mode 100644
index 0000000..090df22
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/12 general.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/13 results.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/13 results.png b/docs/website/images/Kylin-Web-Tutorial/13 results.png
new file mode 100644
index 0000000..cc17841
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/13 results.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/14 drag.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/14 drag.png b/docs/website/images/Kylin-Web-Tutorial/14 drag.png
new file mode 100644
index 0000000..e1b889e
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/14 drag.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/15 bar-chart.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/15 bar-chart.png b/docs/website/images/Kylin-Web-Tutorial/15 bar-chart.png
new file mode 100644
index 0000000..dc7a75d
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/15 bar-chart.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/16 pie-chart.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/16 pie-chart.png b/docs/website/images/Kylin-Web-Tutorial/16 pie-chart.png
new file mode 100644
index 0000000..d66dced
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/16 pie-chart.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/17 line-chart.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/17 line-chart.png b/docs/website/images/Kylin-Web-Tutorial/17 line-chart.png
new file mode 100644
index 0000000..12d1696
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/17 line-chart.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/2 tables.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/2 tables.png b/docs/website/images/Kylin-Web-Tutorial/2 tables.png
new file mode 100644
index 0000000..b7fd530
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/2 tables.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/3 cubes.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/3 cubes.png b/docs/website/images/Kylin-Web-Tutorial/3 cubes.png
new file mode 100644
index 0000000..34eee2e
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/3 cubes.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/4 form-view.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/4 form-view.png b/docs/website/images/Kylin-Web-Tutorial/4 form-view.png
new file mode 100644
index 0000000..ab5cbd1
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/4 form-view.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/5 sql-view.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/5 sql-view.png b/docs/website/images/Kylin-Web-Tutorial/5 sql-view.png
new file mode 100644
index 0000000..69a4cc6
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/5 sql-view.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/6 visualization.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/6 visualization.png b/docs/website/images/Kylin-Web-Tutorial/6 visualization.png
new file mode 100644
index 0000000..745f2d8
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/6 visualization.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/7 access.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/7 access.png b/docs/website/images/Kylin-Web-Tutorial/7 access.png
new file mode 100644
index 0000000..9db1da8
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/7 access.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/7 job-steps.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/7 job-steps.png b/docs/website/images/Kylin-Web-Tutorial/7 job-steps.png
new file mode 100644
index 0000000..664b097
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/7 job-steps.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/8 query.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/8 query.png b/docs/website/images/Kylin-Web-Tutorial/8 query.png
new file mode 100644
index 0000000..f30889e
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/8 query.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-Web-Tutorial/9 query-table.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-Web-Tutorial/9 query-table.png b/docs/website/images/Kylin-Web-Tutorial/9 query-table.png
new file mode 100644
index 0000000..1fecda4
Binary files /dev/null and b/docs/website/images/Kylin-Web-Tutorial/9 query-table.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/1 odbc.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/1 odbc.png b/docs/website/images/Kylin-and-Tableau-Tutorial/1 odbc.png
new file mode 100644
index 0000000..1a9988a
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/1 odbc.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/10 connectLive.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/10 connectLive.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/10 connectLive.jpg
new file mode 100644
index 0000000..d28fa06
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/10 connectLive.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/11 analysis.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/11 analysis.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/11 analysis.jpg
new file mode 100644
index 0000000..53bf70d
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/11 analysis.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/12 edit tables.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/12 edit tables.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/12 edit tables.jpg
new file mode 100644
index 0000000..bb7d4c6
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/12 edit tables.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/13 visual.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/13 visual.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/13 visual.jpg
new file mode 100644
index 0000000..74930ce
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/13 visual.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/14 publish.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/14 publish.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/14 publish.jpg
new file mode 100644
index 0000000..b118966
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/14 publish.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/16 prepare-publish.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/16 prepare-publish.png b/docs/website/images/Kylin-and-Tableau-Tutorial/16 prepare-publish.png
new file mode 100644
index 0000000..8a99ab6
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/16 prepare-publish.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/17 embedded-pwd.png
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/17 embedded-pwd.png b/docs/website/images/Kylin-and-Tableau-Tutorial/17 embedded-pwd.png
new file mode 100644
index 0000000..3f9227b
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/17 embedded-pwd.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/18 groupby-folder.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/18 groupby-folder.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/18 groupby-folder.jpg
new file mode 100644
index 0000000..3e4b246
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/18 groupby-folder.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/19 custom.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/19 custom.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/19 custom.jpg
new file mode 100644
index 0000000..93e058d
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/19 custom.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/2 serverhost.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/2 serverhost.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/2 serverhost.jpg
new file mode 100644
index 0000000..f06755f
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/2 serverhost.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/3 project.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/3 project.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/3 project.jpg
new file mode 100644
index 0000000..b127a3d
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/3 project.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/4 done.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/4 done.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/4 done.jpg
new file mode 100644
index 0000000..1777013
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/4 done.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/5 multipleTable.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/5 multipleTable.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/5 multipleTable.jpg
new file mode 100644
index 0000000..9e13460
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/5 multipleTable.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/6 facttable.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/6 facttable.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/6 facttable.jpg
new file mode 100644
index 0000000..f08ab52
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/6 facttable.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/6 facttable2.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/6 facttable2.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/6 facttable2.jpg
new file mode 100644
index 0000000..509d46b
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/6 facttable2.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/7 lkptable.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/7 lkptable.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/7 lkptable.jpg
new file mode 100644
index 0000000..cd4aad6
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/7 lkptable.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/8 join.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/8 join.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/8 join.jpg
new file mode 100644
index 0000000..05f7780
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/8 join.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/Kylin-and-Tableau-Tutorial/9 connName.jpg
----------------------------------------------------------------------
diff --git a/docs/website/images/Kylin-and-Tableau-Tutorial/9 connName.jpg b/docs/website/images/Kylin-and-Tableau-Tutorial/9 connName.jpg
new file mode 100644
index 0000000..5c816d3
Binary files /dev/null and b/docs/website/images/Kylin-and-Tableau-Tutorial/9 connName.jpg differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/On-Hadoop-CLI-installation/Picture1.png
----------------------------------------------------------------------
diff --git a/docs/website/images/On-Hadoop-CLI-installation/Picture1.png b/docs/website/images/On-Hadoop-CLI-installation/Picture1.png
new file mode 100644
index 0000000..5b07d25
Binary files /dev/null and b/docs/website/images/On-Hadoop-CLI-installation/Picture1.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/On-Hadoop-CLI-installation/Picture2.png
----------------------------------------------------------------------
diff --git a/docs/website/images/On-Hadoop-CLI-installation/Picture2.png b/docs/website/images/On-Hadoop-CLI-installation/Picture2.png
new file mode 100644
index 0000000..26e9e4f
Binary files /dev/null and b/docs/website/images/On-Hadoop-CLI-installation/Picture2.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/On-Hadoop-CLI-installation/cube.png
----------------------------------------------------------------------
diff --git a/docs/website/images/On-Hadoop-CLI-installation/cube.png b/docs/website/images/On-Hadoop-CLI-installation/cube.png
new file mode 100644
index 0000000..bb84b58
Binary files /dev/null and b/docs/website/images/On-Hadoop-CLI-installation/cube.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/On-Hadoop-CLI-installation/installation.pptx
----------------------------------------------------------------------
diff --git a/docs/website/images/On-Hadoop-CLI-installation/installation.pptx b/docs/website/images/On-Hadoop-CLI-installation/installation.pptx
new file mode 100644
index 0000000..548d276
Binary files /dev/null and b/docs/website/images/On-Hadoop-CLI-installation/installation.pptx differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/On-Hadoop-CLI-installation/job.png
----------------------------------------------------------------------
diff --git a/docs/website/images/On-Hadoop-CLI-installation/job.png b/docs/website/images/On-Hadoop-CLI-installation/job.png
new file mode 100644
index 0000000..0ff57f8
Binary files /dev/null and b/docs/website/images/On-Hadoop-CLI-installation/job.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/On-Hadoop-CLI-installation/query.png
----------------------------------------------------------------------
diff --git a/docs/website/images/On-Hadoop-CLI-installation/query.png b/docs/website/images/On-Hadoop-CLI-installation/query.png
new file mode 100644
index 0000000..dd30e27
Binary files /dev/null and b/docs/website/images/On-Hadoop-CLI-installation/query.png differ

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/d1b8e50f/docs/website/images/On-Hadoop-CLI-installation/starthbase.png
----------------------------------------------------------------------
diff --git a/docs/website/images/On-Hadoop-CLI-installation/starthbase.png b/docs/website/images/On-Hadoop-CLI-installation/starthbase.png
new file mode 100644
index 0000000..ca5e825
Binary files /dev/null and b/docs/website/images/On-Hadoop-CLI-installation/starthbase.png differ


[06/49] incubator-kylin git commit: KYLIN-753 Make the dependency on hbase-common to "provided"

Posted by lu...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java b/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java
index 49caeab..bd16246 100644
--- a/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java
+++ b/common/src/main/java/org/apache/kylin/common/util/BytesSplitter.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.Text;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/util/BytesUtil.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/util/BytesUtil.java b/common/src/main/java/org/apache/kylin/common/util/BytesUtil.java
index 2cd8d7d..41946ca 100644
--- a/common/src/main/java/org/apache/kylin/common/util/BytesUtil.java
+++ b/common/src/main/java/org/apache/kylin/common/util/BytesUtil.java
@@ -25,7 +25,7 @@ import java.io.UnsupportedEncodingException;
 import java.nio.ByteBuffer;
 
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.Writable;
 
 public class BytesUtil {

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/util/CliCommandExecutor.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/util/CliCommandExecutor.java b/common/src/main/java/org/apache/kylin/common/util/CliCommandExecutor.java
index c154012..20bcba5 100644
--- a/common/src/main/java/org/apache/kylin/common/util/CliCommandExecutor.java
+++ b/common/src/main/java/org/apache/kylin/common/util/CliCommandExecutor.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 import java.io.InputStreamReader;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 
 /**
  * @author yangli9

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/util/HBaseRegionSizeCalculator.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/util/HBaseRegionSizeCalculator.java b/common/src/main/java/org/apache/kylin/common/util/HBaseRegionSizeCalculator.java
index 0233450..12b0c40 100644
--- a/common/src/main/java/org/apache/kylin/common/util/HBaseRegionSizeCalculator.java
+++ b/common/src/main/java/org/apache/kylin/common/util/HBaseRegionSizeCalculator.java
@@ -36,7 +36,7 @@ import org.apache.hadoop.hbase.ServerLoad;
 import org.apache.hadoop.hbase.ServerName;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTable;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/main/java/org/apache/kylin/common/util/Pair.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/kylin/common/util/Pair.java b/common/src/main/java/org/apache/kylin/common/util/Pair.java
new file mode 100644
index 0000000..bd24401
--- /dev/null
+++ b/common/src/main/java/org/apache/kylin/common/util/Pair.java
@@ -0,0 +1,132 @@
+/**
+ *
+ * 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;
+
+
+/**
+ * A generic class for pairs. Copied from org.apache.hadoop.hbase.util.Pair
+ * @param <T1>
+ * @param <T2>
+ */
+public class Pair<T1, T2> implements Serializable
+{
+    private static final long serialVersionUID = -3986244606585552569L;
+    protected T1 first = null;
+    protected T2 second = null;
+
+    /**
+     * Default constructor.
+     */
+    public Pair()
+    {
+    }
+
+    /**
+     * Constructor
+     * @param a operand
+     * @param b operand
+     */
+    public Pair(T1 a, T2 b)
+    {
+        this.first = a;
+        this.second = b;
+    }
+
+    /**
+     * Constructs a new pair, inferring the type via the passed arguments
+     * @param <T1> type for first
+     * @param <T2> type for second
+     * @param a first element
+     * @param b second element
+     * @return a new pair containing the passed arguments
+     */
+    public static <T1,T2> Pair<T1,T2> newPair(T1 a, T2 b) {
+        return new Pair<T1,T2>(a, b);
+    }
+
+    /**
+     * Replace the first element of the pair.
+     * @param a operand
+     */
+    public void setFirst(T1 a)
+    {
+        this.first = a;
+    }
+
+    /**
+     * Replace the second element of the pair.
+     * @param b operand
+     */
+    public void setSecond(T2 b)
+    {
+        this.second = b;
+    }
+
+    /**
+     * Return the first element stored in the pair.
+     * @return T1
+     */
+    public T1 getFirst()
+    {
+        return first;
+    }
+
+    /**
+     * Return the second element stored in the pair.
+     * @return T2
+     */
+    public T2 getSecond()
+    {
+        return second;
+    }
+
+    private static boolean equals(Object x, Object y)
+    {
+        return (x == null && y == null) || (x != null && x.equals(y));
+    }
+
+    @Override
+    @SuppressWarnings("unchecked")
+    public boolean equals(Object other)
+    {
+        return other instanceof Pair && equals(first, ((Pair)other).first) &&
+                equals(second, ((Pair)other).second);
+    }
+
+    @Override
+    public int hashCode()
+    {
+        if (first == null)
+            return (second == null) ? 0 : second.hashCode() + 1;
+        else if (second == null)
+            return first.hashCode() + 2;
+        else
+            return first.hashCode() * 17 + second.hashCode();
+    }
+
+    @Override
+    public String toString()
+    {
+        return "{" + getFirst() + "," + getSecond() + "}";
+    }
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/common/src/test/java/org/apache/kylin/common/util/HyperLogLogCounterTest.java
----------------------------------------------------------------------
diff --git a/common/src/test/java/org/apache/kylin/common/util/HyperLogLogCounterTest.java b/common/src/test/java/org/apache/kylin/common/util/HyperLogLogCounterTest.java
index 4a438fb..b39a724 100644
--- a/common/src/test/java/org/apache/kylin/common/util/HyperLogLogCounterTest.java
+++ b/common/src/test/java/org/apache/kylin/common/util/HyperLogLogCounterTest.java
@@ -24,7 +24,7 @@ import java.util.HashSet;
 import java.util.Random;
 import java.util.Set;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.common.hll.HyperLogLogPlusCounter;
 import org.junit.Assert;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/cube/src/main/java/org/apache/kylin/cube/CubeManager.java
----------------------------------------------------------------------
diff --git a/cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/cube/src/main/java/org/apache/kylin/cube/CubeManager.java
index a2ceb84..083aa86 100644
--- a/cube/src/main/java/org/apache/kylin/cube/CubeManager.java
+++ b/cube/src/main/java/org/apache/kylin/cube/CubeManager.java
@@ -22,7 +22,7 @@ import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Multimap;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.persistence.JsonSerializer;
 import org.apache.kylin.common.persistence.ResourceStore;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/cube/src/main/java/org/apache/kylin/cube/common/RowKeySplitter.java
----------------------------------------------------------------------
diff --git a/cube/src/main/java/org/apache/kylin/cube/common/RowKeySplitter.java b/cube/src/main/java/org/apache/kylin/cube/common/RowKeySplitter.java
index 9caa29c..48db0d8 100644
--- a/cube/src/main/java/org/apache/kylin/cube/common/RowKeySplitter.java
+++ b/cube/src/main/java/org/apache/kylin/cube/common/RowKeySplitter.java
@@ -19,7 +19,7 @@
 package org.apache.kylin.cube.common;
 
 import org.apache.kylin.common.util.SplittedBytes;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.cube.cuboid.Cuboid;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/cube/src/main/java/org/apache/kylin/cube/cuboid/Cuboid.java
----------------------------------------------------------------------
diff --git a/cube/src/main/java/org/apache/kylin/cube/cuboid/Cuboid.java b/cube/src/main/java/org/apache/kylin/cube/cuboid/Cuboid.java
index eb501f5..839e757 100644
--- a/cube/src/main/java/org/apache/kylin/cube/cuboid/Cuboid.java
+++ b/cube/src/main/java/org/apache/kylin/cube/cuboid/Cuboid.java
@@ -27,7 +27,7 @@ import java.util.Map;
 import java.util.Queue;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import org.apache.kylin.cube.model.CubeDesc;
 import org.apache.kylin.cube.model.RowKeyColDesc;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java
----------------------------------------------------------------------
diff --git a/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java b/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java
index f0e1673..ccbc686 100644
--- a/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java
+++ b/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyColumnIO.java
@@ -21,7 +21,7 @@ package org.apache.kylin.cube.kv;
 import java.util.Arrays;
 
 import org.apache.kylin.dict.ISegment;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyEncoder.java
----------------------------------------------------------------------
diff --git a/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyEncoder.java b/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyEncoder.java
index 1113667..5b6cd91 100644
--- a/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyEncoder.java
+++ b/cube/src/main/java/org/apache/kylin/cube/kv/RowKeyEncoder.java
@@ -23,7 +23,7 @@ import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.cube.cuboid.Cuboid;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/cube/src/test/java/org/apache/kylin/cube/CubeSegmentsTest.java
----------------------------------------------------------------------
diff --git a/cube/src/test/java/org/apache/kylin/cube/CubeSegmentsTest.java b/cube/src/test/java/org/apache/kylin/cube/CubeSegmentsTest.java
index 6816052..fe16fc3 100644
--- a/cube/src/test/java/org/apache/kylin/cube/CubeSegmentsTest.java
+++ b/cube/src/test/java/org/apache/kylin/cube/CubeSegmentsTest.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.*;
 
 import java.io.IOException;
 
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.common.util.LocalFileMetadataTestCase;
 import org.apache.kylin.metadata.model.SegmentStatusEnum;
 import org.junit.After;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyDecoderTest.java
----------------------------------------------------------------------
diff --git a/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyDecoderTest.java b/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyDecoderTest.java
index bfd8f15..968e8ab 100644
--- a/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyDecoderTest.java
+++ b/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyDecoderTest.java
@@ -23,7 +23,7 @@ import static org.junit.Assert.*;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyEncoderTest.java
----------------------------------------------------------------------
diff --git a/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyEncoderTest.java b/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyEncoderTest.java
index a789910..c8164e4 100644
--- a/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyEncoderTest.java
+++ b/cube/src/test/java/org/apache/kylin/cube/kv/RowKeyEncoderTest.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.*;
 
 import java.util.Arrays;
 
-import org.apache.hadoop.hbase.util.Bytes;
+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;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java b/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java
index 2cf6559..9475e74 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/DictionaryGenerator.java
@@ -26,7 +26,7 @@ import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.dict.lookup.TableReader;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java b/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java
index b1d8684..d0d97e0 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionary.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.dict;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 /**
  * @author yangli9

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionaryBuilder.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionaryBuilder.java b/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionaryBuilder.java
index 5857171..d8e5476 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionaryBuilder.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/NumberDictionaryBuilder.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.dict;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 /**
  * @author yangli9

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/main/java/org/apache/kylin/dict/StringBytesConverter.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/StringBytesConverter.java b/dictionary/src/main/java/org/apache/kylin/dict/StringBytesConverter.java
index ddf2d6d..0bec6a1 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/StringBytesConverter.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/StringBytesConverter.java
@@ -18,7 +18,7 @@
 
 package org.apache.kylin.dict;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 public class StringBytesConverter implements BytesConverter<String> {
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/main/java/org/apache/kylin/dict/lookup/FileTableReader.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/lookup/FileTableReader.java b/dictionary/src/main/java/org/apache/kylin/dict/lookup/FileTableReader.java
index 665f090..1226d72 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/lookup/FileTableReader.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/lookup/FileTableReader.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataInputStream;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.SequenceFile;
 import org.apache.hadoop.io.SequenceFile.Reader;
 import org.apache.hadoop.io.Text;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupBytesTable.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupBytesTable.java b/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupBytesTable.java
index 0b40be0..701c2dd 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupBytesTable.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupBytesTable.java
@@ -20,7 +20,7 @@ package org.apache.kylin.dict.lookup;
 
 import java.io.IOException;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import org.apache.kylin.common.util.ByteArray;
 import org.apache.kylin.metadata.model.TableDesc;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupTable.java
----------------------------------------------------------------------
diff --git a/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupTable.java b/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupTable.java
index fab95f1..50d4cbc 100644
--- a/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupTable.java
+++ b/dictionary/src/main/java/org/apache/kylin/dict/lookup/LookupTable.java
@@ -25,7 +25,7 @@ import java.util.List;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 
 import com.google.common.collect.Sets;
 import org.apache.kylin.common.util.Array;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/test/java/org/apache/kylin/dict/LookupTableTest.java
----------------------------------------------------------------------
diff --git a/dictionary/src/test/java/org/apache/kylin/dict/LookupTableTest.java b/dictionary/src/test/java/org/apache/kylin/dict/LookupTableTest.java
index dd0f0d6..86fa635 100644
--- a/dictionary/src/test/java/org/apache/kylin/dict/LookupTableTest.java
+++ b/dictionary/src/test/java/org/apache/kylin/dict/LookupTableTest.java
@@ -20,7 +20,7 @@ package org.apache.kylin.dict;
 
 import java.io.File;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.dict.lookup.FileTable;
 import org.apache.kylin.dict.lookup.LookupBytesTable;
 import org.junit.After;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/test/java/org/apache/kylin/dict/NumberDictionaryTest.java
----------------------------------------------------------------------
diff --git a/dictionary/src/test/java/org/apache/kylin/dict/NumberDictionaryTest.java b/dictionary/src/test/java/org/apache/kylin/dict/NumberDictionaryTest.java
index 22ab5aa..1073496 100644
--- a/dictionary/src/test/java/org/apache/kylin/dict/NumberDictionaryTest.java
+++ b/dictionary/src/test/java/org/apache/kylin/dict/NumberDictionaryTest.java
@@ -26,7 +26,7 @@ import java.util.List;
 import java.util.Random;
 import java.util.Set;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.junit.Test;
 
 import com.google.common.collect.Lists;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/dictionary/src/test/java/org/apache/kylin/dict/lookup/LookupTableTest.java
----------------------------------------------------------------------
diff --git a/dictionary/src/test/java/org/apache/kylin/dict/lookup/LookupTableTest.java b/dictionary/src/test/java/org/apache/kylin/dict/lookup/LookupTableTest.java
index 57e544d..b9327db 100644
--- a/dictionary/src/test/java/org/apache/kylin/dict/lookup/LookupTableTest.java
+++ b/dictionary/src/test/java/org/apache/kylin/dict/lookup/LookupTableTest.java
@@ -22,7 +22,7 @@ import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.util.LocalFileMetadataTestCase;
 import org.apache.kylin.metadata.MetadataManager;
 import org.apache.kylin.metadata.model.TableDesc;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/CompressedValueContainer.java
----------------------------------------------------------------------
diff --git a/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/CompressedValueContainer.java b/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/CompressedValueContainer.java
index 7a65489..c16172b 100644
--- a/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/CompressedValueContainer.java
+++ b/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/CompressedValueContainer.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 import java.util.Arrays;
 
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import org.apache.kylin.common.util.BytesUtil;
 import com.ning.compress.lzf.LZFDecoder;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/RawTableRecord.java
----------------------------------------------------------------------
diff --git a/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/RawTableRecord.java b/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/RawTableRecord.java
index 895fd4f..37b93fb 100644
--- a/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/RawTableRecord.java
+++ b/invertedindex/src/main/java/org/apache/kylin/invertedindex/index/RawTableRecord.java
@@ -22,7 +22,7 @@ import org.apache.kylin.common.util.BytesUtil;
 import org.apache.kylin.dict.Dictionary;
 import org.apache.kylin.metadata.measure.fixedlen.FixedLenMeasureCodec;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.LongWritable;
 
 import java.util.Arrays;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
----------------------------------------------------------------------
diff --git a/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java b/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
index 6e1224a..75cea57 100644
--- a/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
+++ b/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
@@ -27,7 +27,7 @@ import java.util.List;
 
 import org.apache.commons.net.util.Base64;
 import org.apache.hadoop.hbase.protobuf.generated.ClientProtos;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import com.fasterxml.jackson.annotation.JsonAutoDetect;
 import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIKeyValueCodec.java
----------------------------------------------------------------------
diff --git a/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIKeyValueCodec.java b/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIKeyValueCodec.java
index 8bb6e88..6d18186 100644
--- a/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIKeyValueCodec.java
+++ b/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIKeyValueCodec.java
@@ -24,7 +24,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 
 import com.google.common.collect.Lists;
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/invertedindex/src/main/java/org/apache/kylin/invertedindex/tools/IICLI.java
----------------------------------------------------------------------
diff --git a/invertedindex/src/main/java/org/apache/kylin/invertedindex/tools/IICLI.java b/invertedindex/src/main/java/org/apache/kylin/invertedindex/tools/IICLI.java
index 53a5487..503a2f1 100644
--- a/invertedindex/src/main/java/org/apache/kylin/invertedindex/tools/IICLI.java
+++ b/invertedindex/src/main/java/org/apache/kylin/invertedindex/tools/IICLI.java
@@ -25,7 +25,7 @@ import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.apache.hadoop.io.SequenceFile;
 import org.apache.hadoop.io.SequenceFile.Reader;
 import org.apache.kylin.common.KylinConfig;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/invertedindex/src/test/java/org/apache/kylin/invertedindex/invertedindex/InvertedIndexLocalTest.java
----------------------------------------------------------------------
diff --git a/invertedindex/src/test/java/org/apache/kylin/invertedindex/invertedindex/InvertedIndexLocalTest.java b/invertedindex/src/test/java/org/apache/kylin/invertedindex/invertedindex/InvertedIndexLocalTest.java
index 788a175..42de647 100644
--- a/invertedindex/src/test/java/org/apache/kylin/invertedindex/invertedindex/InvertedIndexLocalTest.java
+++ b/invertedindex/src/test/java/org/apache/kylin/invertedindex/invertedindex/InvertedIndexLocalTest.java
@@ -29,7 +29,7 @@ import org.apache.kylin.invertedindex.index.*;
 import org.apache.kylin.invertedindex.model.IIKeyValueCodec;
 import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index ebe6170..44a0f5f 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -131,8 +131,7 @@
         <dependency>
             <groupId>org.apache.hbase</groupId>
             <artifactId>hbase-common</artifactId>
-            <!-- This is default scope to be included in the job jar, we depends on
-                hbase utils like Bytes, ImmutableBytesWritable etc. -->
+            <scope>provided</scope>
         </dependency>
 
         <!-- Env & Test -->

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/common/ShellExecutable.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/common/ShellExecutable.java b/job/src/main/java/org/apache/kylin/job/common/ShellExecutable.java
index 6acb05b..47a3145 100644
--- a/job/src/main/java/org/apache/kylin/job/common/ShellExecutable.java
+++ b/job/src/main/java/org/apache/kylin/job/common/ShellExecutable.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 
 import com.google.common.collect.Maps;
 import org.apache.kylin.common.util.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/cube/CubingJobBuilder.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/cube/CubingJobBuilder.java b/job/src/main/java/org/apache/kylin/job/cube/CubingJobBuilder.java
index 4d2c0cb..4fec0b2 100644
--- a/job/src/main/java/org/apache/kylin/job/cube/CubingJobBuilder.java
+++ b/job/src/main/java/org/apache/kylin/job/cube/CubingJobBuilder.java
@@ -25,7 +25,7 @@ import java.util.List;
 import java.util.TimeZone;
 
 import org.apache.commons.lang3.StringUtils;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/cardinality/ColumnCardinalityMapper.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/cardinality/ColumnCardinalityMapper.java b/job/src/main/java/org/apache/kylin/job/hadoop/cardinality/ColumnCardinalityMapper.java
index dd7c720..3e3c3fb 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/cardinality/ColumnCardinalityMapper.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/cardinality/ColumnCardinalityMapper.java
@@ -24,7 +24,7 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.BytesWritable;
 import org.apache.hadoop.io.IntWritable;
 import org.apache.hive.hcatalog.data.HCatRecord;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java b/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java
index 230a081..c12ecaa 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapper.java
@@ -23,7 +23,7 @@ import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.List;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.Text;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper.java b/job/src/main/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper.java
index 17dc24e..d038534 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper.java
@@ -26,7 +26,7 @@ import java.util.List;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.KeyValue.Type;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.Text;
 
 import com.google.common.collect.Lists;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsCombiner.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsCombiner.java b/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsCombiner.java
index c9a7a34..b5aa35e 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsCombiner.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsCombiner.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 import java.util.HashSet;
 
 import org.apache.kylin.common.mr.KylinReducer;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.ShortWritable;
 import org.apache.hadoop.io.Text;
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsMapper.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsMapper.java b/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsMapper.java
index cf494f8..6f1264d 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsMapper.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsMapper.java
@@ -23,7 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.ShortWritable;
 import org.apache.hadoop.io.Text;
 import org.apache.hive.hcatalog.data.HCatRecord;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsReducer.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsReducer.java b/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsReducer.java
index fdae135..5bd81eb 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsReducer.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/cube/FactDistinctColumnsReducer.java
@@ -27,7 +27,7 @@ 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.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.io.ShortWritable;
 import org.apache.hadoop.io.Text;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/cube/NewBaseCuboidMapper.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/cube/NewBaseCuboidMapper.java b/job/src/main/java/org/apache/kylin/job/hadoop/cube/NewBaseCuboidMapper.java
index 9dda89c..6a8c360 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/cube/NewBaseCuboidMapper.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/cube/NewBaseCuboidMapper.java
@@ -27,8 +27,8 @@ import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
 
-import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Bytes;
+import org.apache.kylin.common.util.Pair;
 import org.apache.hadoop.io.Text;
 import org.apache.kylin.job.constant.BatchConstants;
 import org.apache.kylin.job.hadoop.AbstractHadoopJob;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsCombiner.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsCombiner.java b/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsCombiner.java
index dc04d6e..24f8b6f 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsCombiner.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsCombiner.java
@@ -21,7 +21,7 @@ package org.apache.kylin.job.hadoop.invertedindex;
 import java.io.IOException;
 import java.util.HashSet;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.ShortWritable;
 import org.apache.hadoop.io.Text;
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsMapper.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsMapper.java b/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsMapper.java
index 324b8d2..6b6e22b 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsMapper.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsMapper.java
@@ -20,7 +20,7 @@ package org.apache.kylin.job.hadoop.invertedindex;
 
 import java.io.IOException;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.ShortWritable;
 import org.apache.hadoop.io.Text;
 import org.apache.hive.hcatalog.data.HCatRecord;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsReducer.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsReducer.java b/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsReducer.java
index d8f9543..781b0b4 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsReducer.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/IIDistinctColumnsReducer.java
@@ -25,7 +25,7 @@ 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.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.NullWritable;
 import org.apache.hadoop.io.ShortWritable;
 import org.apache.hadoop.io.Text;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/InvertedIndexReducer.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/InvertedIndexReducer.java b/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/InvertedIndexReducer.java
index f65db0e..26474d2 100644
--- a/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/InvertedIndexReducer.java
+++ b/job/src/main/java/org/apache/kylin/job/hadoop/invertedindex/InvertedIndexReducer.java
@@ -22,7 +22,7 @@ import java.io.IOException;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.apache.hadoop.io.LongWritable;
 import org.apache.kylin.common.KylinConfig;
 import org.apache.kylin.common.mr.KylinReducer;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/tools/DeployCoprocessorCLI.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/tools/DeployCoprocessorCLI.java b/job/src/main/java/org/apache/kylin/job/tools/DeployCoprocessorCLI.java
index 442082a..ae6cd81 100644
--- a/job/src/main/java/org/apache/kylin/job/tools/DeployCoprocessorCLI.java
+++ b/job/src/main/java/org/apache/kylin/job/tools/DeployCoprocessorCLI.java
@@ -45,7 +45,7 @@ import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.TableNotFoundException;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.apache.kylin.common.KylinConfig;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/main/java/org/apache/kylin/job/tools/GridTableHBaseBenchmark.java
----------------------------------------------------------------------
diff --git a/job/src/main/java/org/apache/kylin/job/tools/GridTableHBaseBenchmark.java b/job/src/main/java/org/apache/kylin/job/tools/GridTableHBaseBenchmark.java
index a40f265..4e84bf3 100644
--- a/job/src/main/java/org/apache/kylin/job/tools/GridTableHBaseBenchmark.java
+++ b/job/src/main/java/org/apache/kylin/job/tools/GridTableHBaseBenchmark.java
@@ -36,8 +36,8 @@ import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.filter.KeyOnlyFilter;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Bytes;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.common.persistence.HBaseConnection;
 
 import com.google.common.collect.Lists;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/test/java/org/apache/kylin/job/DeployUtil.java
----------------------------------------------------------------------
diff --git a/job/src/test/java/org/apache/kylin/job/DeployUtil.java b/job/src/test/java/org/apache/kylin/job/DeployUtil.java
index 9acd2c3..329eef1 100644
--- a/job/src/test/java/org/apache/kylin/job/DeployUtil.java
+++ b/job/src/test/java/org/apache/kylin/job/DeployUtil.java
@@ -26,7 +26,7 @@ import java.io.InputStream;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.job.dataGen.FactTableGenerator;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/test/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapperTest.java
----------------------------------------------------------------------
diff --git a/job/src/test/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapperTest.java b/job/src/test/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapperTest.java
index c3632b7..5110041 100644
--- a/job/src/test/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapperTest.java
+++ b/job/src/test/java/org/apache/kylin/job/hadoop/cube/BaseCuboidMapperTest.java
@@ -25,7 +25,7 @@ import java.math.BigDecimal;
 import java.util.List;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.mrunit.mapreduce.MapDriver;
 import org.apache.hadoop.mrunit.types.Pair;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/test/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper2Test.java
----------------------------------------------------------------------
diff --git a/job/src/test/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper2Test.java b/job/src/test/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper2Test.java
index bc7d8e3..5262936 100644
--- a/job/src/test/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper2Test.java
+++ b/job/src/test/java/org/apache/kylin/job/hadoop/cube/CubeHFileMapper2Test.java
@@ -27,7 +27,7 @@ import org.apache.commons.io.FileUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.mapreduce.Mapper.Context;
 import org.junit.After;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/test/java/org/apache/kylin/job/hadoop/cube/NDCuboidMapperTest.java
----------------------------------------------------------------------
diff --git a/job/src/test/java/org/apache/kylin/job/hadoop/cube/NDCuboidMapperTest.java b/job/src/test/java/org/apache/kylin/job/hadoop/cube/NDCuboidMapperTest.java
index 0baa738..4e362b3 100644
--- a/job/src/test/java/org/apache/kylin/job/hadoop/cube/NDCuboidMapperTest.java
+++ b/job/src/test/java/org/apache/kylin/job/hadoop/cube/NDCuboidMapperTest.java
@@ -25,7 +25,7 @@ import java.io.IOException;
 import java.util.List;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.mrunit.mapreduce.MapReduceDriver;
 import org.apache.hadoop.mrunit.types.Pair;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/test/java/org/apache/kylin/job/hadoop/hbase/TestHbaseClient.java
----------------------------------------------------------------------
diff --git a/job/src/test/java/org/apache/kylin/job/hadoop/hbase/TestHbaseClient.java b/job/src/test/java/org/apache/kylin/job/hadoop/hbase/TestHbaseClient.java
index a92da92..1dc5c44 100644
--- a/job/src/test/java/org/apache/kylin/job/hadoop/hbase/TestHbaseClient.java
+++ b/job/src/test/java/org/apache/kylin/job/hadoop/hbase/TestHbaseClient.java
@@ -24,7 +24,7 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.client.Put;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 /**
  * Created by hongbin on 5/15/14.

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/job/src/test/java/org/apache/kylin/job/tools/ColumnCardinalityReducerTest.java
----------------------------------------------------------------------
diff --git a/job/src/test/java/org/apache/kylin/job/tools/ColumnCardinalityReducerTest.java b/job/src/test/java/org/apache/kylin/job/tools/ColumnCardinalityReducerTest.java
index 034c90e..2c01fb6 100644
--- a/job/src/test/java/org/apache/kylin/job/tools/ColumnCardinalityReducerTest.java
+++ b/job/src/test/java/org/apache/kylin/job/tools/ColumnCardinalityReducerTest.java
@@ -27,7 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.StringTokenizer;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.BytesWritable;
 import org.apache.hadoop.io.IntWritable;
 import org.apache.hadoop.io.LongWritable;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/metadata/src/main/java/org/apache/kylin/metadata/measure/BigDecimalSerializer.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/kylin/metadata/measure/BigDecimalSerializer.java b/metadata/src/main/java/org/apache/kylin/metadata/measure/BigDecimalSerializer.java
index 2eab9e4..29f281a 100644
--- a/metadata/src/main/java/org/apache/kylin/metadata/measure/BigDecimalSerializer.java
+++ b/metadata/src/main/java/org/apache/kylin/metadata/measure/BigDecimalSerializer.java
@@ -22,7 +22,7 @@ import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.nio.ByteBuffer;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import org.apache.kylin.common.util.BytesUtil;
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/metadata/src/main/java/org/apache/kylin/metadata/measure/DoubleSerializer.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/kylin/metadata/measure/DoubleSerializer.java b/metadata/src/main/java/org/apache/kylin/metadata/measure/DoubleSerializer.java
index ea2678c..754bf5c 100644
--- a/metadata/src/main/java/org/apache/kylin/metadata/measure/DoubleSerializer.java
+++ b/metadata/src/main/java/org/apache/kylin/metadata/measure/DoubleSerializer.java
@@ -20,7 +20,7 @@ package org.apache.kylin.metadata.measure;
 
 import java.nio.ByteBuffer;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.DoubleWritable;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/metadata/src/main/java/org/apache/kylin/metadata/measure/LongSerializer.java
----------------------------------------------------------------------
diff --git a/metadata/src/main/java/org/apache/kylin/metadata/measure/LongSerializer.java b/metadata/src/main/java/org/apache/kylin/metadata/measure/LongSerializer.java
index 90c1ab9..cc2ba1d 100644
--- a/metadata/src/main/java/org/apache/kylin/metadata/measure/LongSerializer.java
+++ b/metadata/src/main/java/org/apache/kylin/metadata/measure/LongSerializer.java
@@ -20,7 +20,7 @@ package org.apache.kylin.metadata.measure;
 
 import java.nio.ByteBuffer;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.LongWritable;
 
 import org.apache.kylin.common.util.BytesUtil;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/server/src/main/java/org/apache/kylin/rest/service/AclService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/AclService.java b/server/src/main/java/org/apache/kylin/rest/service/AclService.java
index 12de99c..8413f47 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/AclService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/AclService.java
@@ -38,7 +38,7 @@ import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.filter.SingleColumnValueFilter;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/server/src/main/java/org/apache/kylin/rest/service/JobService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/JobService.java b/server/src/main/java/org/apache/kylin/rest/service/JobService.java
index e0f8a99..7870fdc 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/JobService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/JobService.java
@@ -23,7 +23,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.FluentIterable;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.cube.CubeInstance;
 import org.apache.kylin.cube.CubeSegment;
 import org.apache.kylin.cube.model.CubeBuildTypeEnum;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/server/src/main/java/org/apache/kylin/rest/service/QueryService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/QueryService.java b/server/src/main/java/org/apache/kylin/rest/service/QueryService.java
index 62a9567..027202d 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/QueryService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/QueryService.java
@@ -48,7 +48,7 @@ import org.apache.hadoop.hbase.client.Get;
 import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.Result;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.rest.constant.Constant;
 import org.apache.kylin.rest.metrics.QueryMetrics;
 import org.apache.kylin.rest.model.ColumnMeta;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/server/src/main/java/org/apache/kylin/rest/service/UserService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/UserService.java b/server/src/main/java/org/apache/kylin/rest/service/UserService.java
index 416db1f..b5d366a 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/UserService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/UserService.java
@@ -32,7 +32,7 @@ import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.kylin.rest.security.UserManager;
 import org.springframework.security.core.GrantedAuthority;
 import org.springframework.security.core.userdetails.User;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/CubeSegmentTupleIterator.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/CubeSegmentTupleIterator.java b/storage/src/main/java/org/apache/kylin/storage/hbase/CubeSegmentTupleIterator.java
index 8583e49..4589e4d 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/CubeSegmentTupleIterator.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/CubeSegmentTupleIterator.java
@@ -28,6 +28,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 
+import com.google.common.collect.Lists;
 import org.apache.kylin.storage.hbase.coprocessor.observer.ObserverEnabler;
 
 import org.apache.hadoop.hbase.client.HConnection;
@@ -40,8 +41,8 @@ import org.apache.hadoop.hbase.filter.Filter;
 import org.apache.hadoop.hbase.filter.FilterList;
 import org.apache.hadoop.hbase.filter.FuzzyRowFilter;
 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Bytes;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.storage.StorageContext;
 import org.apache.kylin.storage.tuple.TupleInfo;
 import org.slf4j.Logger;
@@ -255,7 +256,7 @@ public class CubeSegmentTupleIterator implements ITupleIterator {
     private void applyFuzzyFilter(Scan scan, HBaseKeyRange keyRange) {
         List<Pair<byte[], byte[]>> fuzzyKeys = keyRange.getFuzzyKeys();
         if (fuzzyKeys != null && fuzzyKeys.size() > 0) {
-            FuzzyRowFilter rowFilter = new FuzzyRowFilter(fuzzyKeys);
+            FuzzyRowFilter rowFilter = new FuzzyRowFilter(convertToHBasePair(fuzzyKeys));
 
             Filter filter = scan.getFilter();
             if (filter != null) {
@@ -270,6 +271,16 @@ public class CubeSegmentTupleIterator implements ITupleIterator {
         }
     }
 
+    private List<org.apache.hadoop.hbase.util.Pair<byte[], byte[]>> convertToHBasePair(List<org.apache.kylin.common.util.Pair<byte[], byte[]>> pairList) {
+        List<org.apache.hadoop.hbase.util.Pair<byte[], byte[]>> result = Lists.newArrayList();
+        for(org.apache.kylin.common.util.Pair pair : pairList) {
+            org.apache.hadoop.hbase.util.Pair element = new org.apache.hadoop.hbase.util.Pair(pair.getFirst(), pair.getSecond());
+            result.add(element);
+        }
+
+        return result;
+    }
+
     private TupleInfo buildTupleInfo(Cuboid cuboid) {
         TupleInfo info = new TupleInfo();
         int index = 0;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/CubeStorageEngine.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/CubeStorageEngine.java b/storage/src/main/java/org/apache/kylin/storage/hbase/CubeStorageEngine.java
index 3ed8f14..5c6be3b 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/CubeStorageEngine.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/CubeStorageEngine.java
@@ -28,8 +28,8 @@ import org.apache.kylin.metadata.realization.SQLDigest;
 import org.apache.kylin.storage.hbase.coprocessor.observer.ObserverEnabler;
 
 import org.apache.hadoop.hbase.client.HConnection;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Bytes;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.storage.StorageContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/DerivedFilterTranslator.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/DerivedFilterTranslator.java b/storage/src/main/java/org/apache/kylin/storage/hbase/DerivedFilterTranslator.java
index e542555..d2e9402 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/DerivedFilterTranslator.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/DerivedFilterTranslator.java
@@ -21,7 +21,7 @@ package org.apache.kylin.storage.hbase;
 import java.util.List;
 import java.util.Set;
 
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseClientKVIterator.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseClientKVIterator.java b/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseClientKVIterator.java
index 7bbe363..2f66499 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseClientKVIterator.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseClientKVIterator.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.hbase.client.HTableInterface;
 import org.apache.hadoop.hbase.client.Result;
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 import org.apache.kylin.invertedindex.model.IIDesc;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseKeyRange.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseKeyRange.java b/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseKeyRange.java
index e972761..7926b1d 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseKeyRange.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/HBaseKeyRange.java
@@ -24,8 +24,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Bytes;
+import org.apache.kylin.common.util.Pair;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/PingHBaseCLI.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/PingHBaseCLI.java b/storage/src/main/java/org/apache/kylin/storage/hbase/PingHBaseCLI.java
index f844cdb..1d4ec68 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/PingHBaseCLI.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/PingHBaseCLI.java
@@ -29,7 +29,7 @@ import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.Scan;
 import org.apache.hadoop.hbase.security.User;
 import org.apache.hadoop.hbase.security.token.TokenUtil;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.security.UserGroupInformation;
 
 import org.apache.kylin.common.util.HadoopUtil;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/CoprocessorFilter.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/CoprocessorFilter.java b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/CoprocessorFilter.java
index 6d238ba..d1290e3 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/CoprocessorFilter.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/CoprocessorFilter.java
@@ -21,7 +21,7 @@ package org.apache.kylin.storage.hbase.coprocessor;
 import java.util.Collection;
 import java.util.Set;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import com.google.common.collect.Sets;
 import org.apache.kylin.common.util.BytesUtil;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/HbaseServerKVIterator.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/HbaseServerKVIterator.java b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/HbaseServerKVIterator.java
index df26e41..d587d1a 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/HbaseServerKVIterator.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/HbaseServerKVIterator.java
@@ -22,7 +22,7 @@ import org.apache.commons.io.IOUtils;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
-import org.apache.hadoop.hbase.util.Pair;
+import org.apache.kylin.common.util.Pair;
 
 import java.io.Closeable;
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/IIEndpoint.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/IIEndpoint.java b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/IIEndpoint.java
index 4852e3b..77bed3b 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/IIEndpoint.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/endpoint/IIEndpoint.java
@@ -48,7 +48,7 @@ import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment;
 import org.apache.hadoop.hbase.protobuf.ResponseConverter;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import java.io.IOException;
 import java.util.Iterator;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/ObserverAggregators.java
----------------------------------------------------------------------
diff --git a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/ObserverAggregators.java b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/ObserverAggregators.java
index f905d32..0610ea5 100644
--- a/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/ObserverAggregators.java
+++ b/storage/src/main/java/org/apache/kylin/storage/hbase/coprocessor/observer/ObserverAggregators.java
@@ -27,7 +27,7 @@ import java.util.List;
 import org.apache.kylin.storage.hbase.coprocessor.CoprocessorConstants;
 
 import org.apache.hadoop.hbase.Cell;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 
 import org.apache.kylin.common.util.BytesSerializer;
 import org.apache.kylin.common.util.BytesUtil;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/RowProjectorTest.java
----------------------------------------------------------------------
diff --git a/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/RowProjectorTest.java b/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/RowProjectorTest.java
index d3a4304..6a22d74 100644
--- a/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/RowProjectorTest.java
+++ b/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/RowProjectorTest.java
@@ -26,7 +26,7 @@ import java.util.List;
 
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.junit.Test;
 
 import com.google.common.collect.Lists;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserverTest.java
----------------------------------------------------------------------
diff --git a/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserverTest.java b/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserverTest.java
index be66ab3..6c789d3 100644
--- a/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserverTest.java
+++ b/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/AggregateRegionObserverTest.java
@@ -40,7 +40,7 @@ import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.KeyValue.Type;
 import org.apache.hadoop.hbase.regionserver.RegionScanner;
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.apache.hadoop.io.LongWritable;
 import org.junit.Before;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/928ef4cf/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/RowAggregatorsTest.java
----------------------------------------------------------------------
diff --git a/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/RowAggregatorsTest.java b/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/RowAggregatorsTest.java
index 7dacc2e..9458014 100644
--- a/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/RowAggregatorsTest.java
+++ b/storage/src/test/java/org/apache/kylin/storage/hbase/coprocessor/observer/RowAggregatorsTest.java
@@ -22,7 +22,7 @@ import static org.junit.Assert.*;
 
 import java.util.Arrays;
 
-import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.kylin.common.util.Bytes;
 import org.junit.Test;
 
 /**


[31/49] incubator-kylin git commit: [maven-release-plugin] prepare release kylin-0.7.1-incubating

Posted by lu...@apache.org.
[maven-release-plugin] prepare release kylin-0.7.1-incubating


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

Branch: refs/heads/0.7.1
Commit: 9309088309c59e466b5380d0a22cf856454f44ce
Parents: 89dc5a5
Author: Luke Han <lu...@apache.org>
Authored: Tue May 26 19:53:52 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   | 2 +-
 common/pom.xml        | 2 +-
 cube/pom.xml          | 2 +-
 dictionary/pom.xml    | 2 +-
 invertedindex/pom.xml | 2 +-
 jdbc/pom.xml          | 2 +-
 job/pom.xml           | 2 +-
 metadata/pom.xml      | 2 +-
 pom.xml               | 4 ++--
 query/pom.xml         | 2 +-
 server/pom.xml        | 2 +-
 storage/pom.xml       | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index cf06b15..9417503 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index e8cf42b..310ee93 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 0fdd708..d3f6915 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 524a52f..3d04215 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index dcf961b..10669e7 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 24feef9..9c29977 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.1-incubating-SNAPSHOT</version>
+		<version>0.7.1-incubating</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index d3c0b55..e49c792 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e10777a..2c7e7ab 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 404ce4a..9ffd26a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.1-incubating-SNAPSHOT</version>
+    <version>0.7.1-incubating</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -145,7 +145,7 @@
         <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</developerConnection>
         <url>https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</url>
-        <tag>apache-kylin-0.7.1-incubating</tag>
+        <tag>kylin-0.7.1-incubating</tag>
     </scm>
 
     <dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 030482b..60b09e1 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index c99ed94..276e384 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/93090883/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 177e731..3b18de0 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating</version>
     </parent>
 
     <dependencies>


[08/49] incubator-kylin git commit: update website structure and content

Posted by lu...@apache.org.
update website structure and content

Signed-off-by: Luke Han <lu...@apache.org>


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

Branch: refs/heads/0.7.1
Commit: 69dda1d68055146828a1b5b38cf6b121bd700450
Parents: 928ef4c
Author: Luwei Chen <ch...@hotmail.com>
Authored: Wed May 27 18:17:32 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Wed May 27 18:51:01 2015 +0800

----------------------------------------------------------------------
 docs/website/_config.yml                        |  4 +-
 docs/website/_includes/head.cn.html             |  3 +-
 docs/website/_includes/head.html                |  4 +-
 docs/website/_layouts/page.html                 |  7 +-
 docs/website/_layouts/post.html                 |  8 +-
 .../_posts/2015-01-25-introduce-data-model.md   | 40 ---------
 docs/website/blog/index.md                      | 43 ---------
 docs/website/community/index.md                 | 65 --------------
 docs/website/docs/index.md                      | 91 --------------------
 docs/website/docs/installation-content.md       | 16 ----
 docs/website/docs/intro-content.md              | 54 ------------
 11 files changed, 16 insertions(+), 319 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_config.yml
----------------------------------------------------------------------
diff --git a/docs/website/_config.yml b/docs/website/_config.yml
index 9f347af..f7eb224 100644
--- a/docs/website/_config.yml
+++ b/docs/website/_config.yml
@@ -28,6 +28,8 @@ encoding: UTF-8
 
 # Build settings
 markdown: kramdown
+# Code highlight
+highlighter: pygments
 # Permalinks, default is pretty
 permalink: pretty
 
@@ -39,4 +41,4 @@ language_default: 'en'
 
 # If a post of default language not set `no_fill_default_content` to true
 # Its content will use to replace if the corresponding content of other languages is not exist.
-# fill_default_content: true
\ No newline at end of file
+# fill_default_content: true

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_includes/head.cn.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/head.cn.html b/docs/website/_includes/head.cn.html
index 53d7204..36c3a0e 100644
--- a/docs/website/_includes/head.cn.html
+++ b/docs/website/_includes/head.cn.html
@@ -33,13 +33,14 @@
 <link rel="stylesheet" href="{{ "/assets/css/bootstrap.min.css"| prepend: site.baseurl }}">
 
 <!-- Fonts -->
-<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700">
+<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
 
 <!-- Icons -->
 <link rel="stylesheet" href="{{ "/assets/css/font-awesome.min.css"| prepend: site.baseurl }}">
 
   <!-- Custom styles -->
   <link rel="stylesheet" href="{{ "/assets/css/styles.css" | prepend: site.baseurl }}">
+  <link rel="stylesheet" href="{{ "/assets/css/docs.css" | prepend: site.baseurl }}">
 
   <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
   <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_includes/head.html
----------------------------------------------------------------------
diff --git a/docs/website/_includes/head.html b/docs/website/_includes/head.html
index dc2063f..421b450 100644
--- a/docs/website/_includes/head.html
+++ b/docs/website/_includes/head.html
@@ -33,13 +33,15 @@
 <link rel="stylesheet" href="{{ "/assets/css/bootstrap.min.css"| prepend: site.baseurl }}">
 
 <!-- Fonts -->
-<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700">
+<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> -->
 
 <!-- Icons -->
 <link rel="stylesheet" href="{{ "/assets/css/font-awesome.min.css"| prepend: site.baseurl }}">
 
   <!-- Custom styles -->
   <link rel="stylesheet" href="{{ "/assets/css/styles.css" | prepend: site.baseurl }}">
+  <link rel="stylesheet" href="{{ "/assets/css/docs.css" | prepend: site.baseurl }}">
+  <link rel="stylesheet" href="{{ "/assets/css/pygments.css" | prepend: site.baseurl }}">
 
   <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
   <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_layouts/page.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/page.html b/docs/website/_layouts/page.html
index de945f4..9b38fb8 100644
--- a/docs/website/_layouts/page.html
+++ b/docs/website/_layouts/page.html
@@ -1,3 +1,7 @@
+---
+layout: default
+---
+
 <!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -16,9 +20,6 @@
 * limitations under the License.
 -->
 
----
-layout: default
----
 <div class="post">
 
   <header class="post-header">

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_layouts/post.html
----------------------------------------------------------------------
diff --git a/docs/website/_layouts/post.html b/docs/website/_layouts/post.html
index 38c68c8..7503e6e 100644
--- a/docs/website/_layouts/post.html
+++ b/docs/website/_layouts/post.html
@@ -1,3 +1,7 @@
+---
+layout: docs
+---
+
 <!--
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -16,10 +20,6 @@
 * limitations under the License.
 -->
 
----
-layout: default
----
-
 <div class="post" style=" padding:2em 4em 4em 4em">
 
   <header class="post-header">

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/_posts/2015-01-25-introduce-data-model.md
----------------------------------------------------------------------
diff --git a/docs/website/_posts/2015-01-25-introduce-data-model.md b/docs/website/_posts/2015-01-25-introduce-data-model.md
deleted file mode 100644
index 2016207..0000000
--- a/docs/website/_posts/2015-01-25-introduce-data-model.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: post
-title:  "Introduce Data Model of Cube Designer"
-date:   2015-01-25 22:28:00
-author: Luke Han
-categories: blog
----
-
-### Background
-In previous version (before v0.6.4), Kylin introduced a GUI tool called Cube Designer for user (we called this role as __Cube Modeler__) to architect OLAP Cube with dimensions, measures and other settings. It works well for most of the features but still not user friendly yet: 
-
-1. A user has to add dimension one by one, considering there are 20+ even 50+ dimensions, the entire process is really boring. 
-2. Each dimension requires define join condition between fact table and lookup table which even already be defined in previous dimensions many times.
-3. Less validation check, especially for Hierarchy and Derived dimension, there are many exceptions in further steps which blocked many people to save the cube definition without any idea about the issue.
-4. Save/Next buttons are confusing user to click which one for real next step or just save current dimension settings
-
-### Data Model of Cube Designer
-With the feedback from our internal users and external community, we have came up one idea and would like to introduce a new concept (widely known in Data Warehouse and Business Intelligence domain): Data Model: a data model organises data elements and standardises how the data elements relate to one another.[Wikipedia](http://en.wikipedia.org/wiki/Data_model). In Kylin, it using [Star Schema](http://en.wikipedia.org/wiki/Star_schema) as Data Model, which is the simplest style of data warehouse schema. The star schema consists of a few "fact tables" (possibly only one, justifying the name) referencing any number of "dimension tables". It actually already there behind dimensions and measures and now just come to first step to define the relationship between different tables before create each dimension. 
-Now (after v0.6.4), to create a cube will follow below steps:
-
-1. Define data model first: pick up one fact table and then add other lookup tables (with their join conditions). The data mode must be presents as Star Schema.
-2. Then add dimensions, since all join conditions already presented in data model, each dimension could be more easy to create, just need to know what's kind of type: normal, hierarchy and derived (will have another blog to introduce them). There's also one helper called _Auto Generator_ to help generate many dimensions within simple clicks.
-3. Then define measures and others as previous cube designer did
-
-### Benefits
-1. A data model is very easy to communicate between different roles and teams. Most of cases it just mapping to real database table relationship, like from Hive tables
-2. More easy to create dimensions and measures based on the data model
-3. Friendly error message with enhanced validation check when save cube
-
-
-### What's Next
-After this refactor, Kylin is now be able to introduce more powerful features, the major idea is to using different storages to serve same data model:
-
-* __Logical Model__: A Data Model presents logical data structure like Star Schema beyond data tables with more business meaning
-* __Physical Model__: define how the underlying data to be stored in persistent system, like HBase. There are already two of them: MOLAP (current Kylin version) and InvertedIndex (coming with 0.7.x release). And it also easy to extend to support others without change the Logical Model.
-* A new GUI of Cube Designer to support above is on the way.
-
-
-
-

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/blog/index.md
----------------------------------------------------------------------
diff --git a/docs/website/blog/index.md b/docs/website/blog/index.md
deleted file mode 100644
index a272bd6..0000000
--- a/docs/website/blog/index.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-layout: default
-title: Blog
----
-
-
-<main id="main" >
-<section id="first" class="main">
-    <header style="padding:2em 0 4em 0;">
-      <div class="container" >
-        <h4 class="section-title"><span> Kylin Technical Blog </span></h4>
-         <!-- second-->
-          <div id="content-container" class="animated fadeIn">
-            <div >
-            <!--
-            <p class="aboutkylin" style="font-size:1.2em">Comming Soon...</p>
-            -->
-             <ul class="post-list">
-            {% for post in site.posts %}
-            <li>
-            <!--
-            <span align="left" class="content-header">{{ post.date | date: "%b %-d, %Y" }}</span>
-            -->
-            <p>{{post.url}}</p>
-        <h2 align="left">
-          <a class="post-link" href="{{ post.url | prepend: site.baseurl }}">{{ post.title }}</a>
-        </h2>
-      </li>
-    {% endfor %}
-  </ul>
-
-  <p class="rss-subscribe">subscribe <a href="{{ "/feed.xml" | prepend: site.baseurl }}">via RSS</a></p>
-          </div>
-        </div>
-      </div>
-      <!-- /container --> 
-      
-    </header>
-  </section>
-
-  
-    
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/community/index.md
----------------------------------------------------------------------
diff --git a/docs/website/community/index.md b/docs/website/community/index.md
deleted file mode 100644
index a426f6c..0000000
--- a/docs/website/community/index.md
+++ /dev/null
@@ -1,65 +0,0 @@
----
-layout: default
-title: Community
----
-
-
-  <main id="main" >
-  <div class="container" >
-    <div id="zero" class=" main" >
-      <header style=" padding:2em 0 4em 0">
-        <div class="container" >
-          <h4 class="section-title"><span>Kylin Community</span></h4>
-          <div class="row" style="margin-top:-20px;">
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">EVENTS</p>
-
-
-
-
-              <p><a href="http://strataconf.com/big-data-conference-uk-2015/public/schedule/detail/40029" target="_blank">Strata+Hadoop World 2015, London </a> 
-              <br/>Date - Wednesday, May 6, 2015 <br/>
-              Kylin will be present at Strata+Hadooop World</p>
-
-              <p><a href="http://bdtc2014.hadooper.cn/m/zone/bdtc_2014" target="_blank">Big Data Technology Conference, Beijing </a> 
-              <br/>Date - Sunday, December 14, 2014 <br/>
-              Kylin be presented by Luke Han, Sr. Product Manager of Kylin</p>
-
-              <p><a href="http://www.meetup.com/Cloud-at-ebayinc/events/218914395/" target="_blank">Apache Kylin Meetup @Bay Area </a> 
-              <br/>6:00PM - 7:30PM, Thursday, December 4, 2014 <br/>
-               Learn about "Extreme OLAP engine for Hadoop - Kylin", which eBay recently Open sourced and is now an Apache Incubator Project</p>
-
-              <p><a href="http://2014ebay.csdn.net/m/zone/ebay_en/" target="_blank">Shanghai Big Data Summit 2014 </a> 
-              <br/>Date - October 25th, 2014 <br/>
-                Kylin be presented by Jiang Xu, Cheif Architect of Kylin<br/>
-                <a href="http://ebay.csdn.net/" target="_blank">Slides and Video</a></p>
-                  
-            </div>
-            
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">DISCUSSION</p>
-              <p>Developement and User maililng list: <a href="mailto:dev@kylin.incubator.apache.org" target="_blank"> dev@kylin.incubator.apache.org</a></p>
-              <p>Please subscribe by sending email to: <a href="mailto:dev-subscribe@kylin.incubator.apache.org" target="_blank">dev-subscribe@kylin.incubator.apache.org</a></p>              
-              <p>The official Kylin Twitter account: <a href="https://twitter.com/ApacheKylin" target="_blank"> @ApacheKylin</a></p>
-            </div>
-            <div class="col-sm-4 col-md-4">
-              <p class="big_text">DEVELOPMENT</p>
-              <p>All development takes place at : </p>
-              <p>Apache Git: <a href="git://git.apache.org/incubator-kylin.git" target="_blank">git://git.apache.org/incubator-kylin.git</a><br/>
-              Github Mirror: <a href="https://github.com/apache/incubator-kylin" target="_blank">https://github.com/apache/incubator-kylin</a></p>
-
-              <p>Issue tracking: <a href="https://issues.apache.org/jira/browse/KYLIN" target="_blank">Apache JIRA</a></p>
-            </div>
-          </div>
-        </div>
-        <!-- /container --> 
-        
-      </header>
-    </div>
-    <!-- / section --> 
-  </div>
-  <!-- /container -->
-  
-  </header>
-  </section>
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/docs/index.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/index.md b/docs/website/docs/index.md
deleted file mode 100644
index 599fd75..0000000
--- a/docs/website/docs/index.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-layout: default
-title: Docs
----
-  
-<main id="main" >
-  <div class="container" >
-    <div id="zero" class=" main" >
-      <header style=" padding:2em 0 4em 0">
-        <div class="container" >
-          <h4 class="section-title"><span>Kylin Docs</span></h4>
-
-         
-     <div id="content-container" class="animated fadeIn">
-       
-
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
-<p class="content-p">
-If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
-</p>
-
-<hr/>
- 
-<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
-<p class="content-p">
-The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
-</p>
-<hr/>
- 
-<p class="content-header">What is MOLAP/ROLAP?</p>
-<p class="content-p">
-MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
-ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
-</p>
-<hr/>
-
-<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
-<p class="content-p">
-Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
-If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
-If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
-Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
-</p>
-<hr/>
-<p class="content-header">What does a Kylin query look like?</p>
-<p class="content-p">
-Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
-<div align="left">
-
-<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
-</div>
-<hr/>
-
-<p class="content-header">What Hadoop components does it work with?</p>
-<p class="content-p">
-Kylin depends on HDFS, MapReduce, Hive and HBase.
-Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
-HDFS is used to store intermediated files during cube building.
-HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
-</p>
-<hr/>
-
-<!-- Migrate wiki to here 
-<p class="content-header">Where can I find the technical details about Kylin?</p>
-<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin Wiki</a></p>
-
--->
-
-     </div>
-         
-         </div><!--end of rightcontent-->
-         
-         </div><!--end of row-->
-        </div>
-        <!-- /container --> 
-        
-        
-        
-      </header>
-    </div>
-    <!-- / section --> 
-  </div>
-  <!-- /container -->
- 
-
-  
-
-      
-    </header>
-  </section>
-</main>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/docs/installation-content.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/installation-content.md b/docs/website/docs/installation-content.md
deleted file mode 100644
index 0a7f872..0000000
--- a/docs/website/docs/installation-content.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: default
-title: Docs
----
-
-<p class="content-header" style="margin-top:0.25em">On Hadoop CLI installation</p>
-<p class="content-p">
-On-Hadoop-CLI installation is for demo use, or for those who want to host their own web site to provide Kylin service: <br/>
-<a href="https://github.com/KylinOLAP/Kylin/wiki/On-Hadoop-CLI-installation">On Hadoop CLI installation Wiki</a>
-</p>
-<br/>
-<p class="content-header" style="margin-top:0.25em">Off Hadoop CLI Installation</p>
-<p class="content-p">Off-Hadoop-CLI installation is usually for devlopment use, when developpers want to run kylin test cases or applications at their development machine: 
-<br/><a href="https://github.com/KylinOLAP/Kylin/wiki/Off-Hadoop-CLI-Installation">Off Hadoop CLI Installation Wiki</a>
-</p>
-

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/69dda1d6/docs/website/docs/intro-content.md
----------------------------------------------------------------------
diff --git a/docs/website/docs/intro-content.md b/docs/website/docs/intro-content.md
deleted file mode 100644
index b1a9ad0..0000000
--- a/docs/website/docs/intro-content.md
+++ /dev/null
@@ -1,54 +0,0 @@
----
-layout: default
-title: Docs
----
-
-<p class="content-header" style="margin-top:0.25em">What should I use Kylin for?</p>
-<p class="content-p">
-If you want to do multi-dimension analysis on large data sets (billion+ rows) with low query latency (sub-seconds), Kylin is a good option. Kylin also provides good integration with existing BI tools (e.g Tableau).
-</p>
-
-<hr/>
- 
-<p class="content-header">Why existing SQL-on-Hadoop solutions fall short?</p>
-<p class="content-p">
-The existing SQL-on-Hadoop needs to scan partial or whole data set to answer a user query. Due to large data scan, many queries are very slow (minute+ latency).  
-</p>
-<hr/>
- 
-<p class="content-header">What is MOLAP/ROLAP?</p>
-<p class="content-p">
-MOLAP (Multi-dimensional OLAP) is to pre-compute data along different dimensions of interest and store resultant values in the cube. MOLAP is much faster but is inflexible.
-ROLAP (Relational-OLAP) is to use star or snow-flake schema to do runtime aggregation. ROLAP is flexible but much slower.
-</p>
-<hr/>
-
-<p class="content-header">How does Kylin support ROLAP/MOLAP?</p>
-<p class="content-p">
-Kylin builds data cube (MOLAP) from hive table (ROLAP) according to the metadata definition.
-If the query can be fulfilled by data cube, Kylin will route the query to data cube that is MOLAP.
-If the query can’t be fulfilled by data cube, Kylin will route the query to hive table that is ROLAP.
-Basically, you can think Kylin as HOLAP on top of MOLAP and ROLAP. 
-</p>
-<hr/>
-<p class="content-header">What does a Kylin query look like?</p>
-<p class="content-p">
-Kylin supports join, projection, filter, aggregation, groups and sub-query. For example:
-<div align="left">
-
-<pre class="prettyprint" style="margin-top:1em;">select test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name, sum(test_kylin_fact.price) as total_price, count(*) as total_count from test_kylin_fact left join test_cal_dt on test_kylin_fact.cal_dt = test_cal_dt.cal_dt left join test_category on test_kylin_fact.leaf_categ_id = test_category.leaf_categ_id and test_kylin_fact.site_id = test_category.site_id left join test_sites on test_kylin_fact.site_id = test_sites.site_id where test_kylin_fact.seller_id = 123456 or test_kylin_fact.format_name = 'New' group by test_cal_dt.week_beg_dt, test_category.lv1_categ, test_category.lv2_categ, test_kylin_fact.format_name, test_sites.site_name</pre>
-</div>
-<hr/>
-
-<p class="content-header">What Hadoop components does it work with?</p>
-<p class="content-p">
-Kylin depends on HDFS, MapReduce, Hive and HBase.
-Hive and MapReduce is used for cube building. Hive is used for pre-join and MapReduce is used for pre-aggregation.
-HDFS is used to store intermediated files during cube building.
-HBase is used to store data cube and answer the query. HBase coprocessor is also used for query processing.
-</p>
-<hr/>
-
-<p class="content-header">Where can I find the technical details about Kylin?</p>
-<p class="content-p"><a href="http://www.slideshare.net/XuJiang2/kylin-hadoop-olap-engine" target="_blank">Kylin OLAP</a></p>
-


[42/49] incubator-kylin git commit: [maven-release-plugin] prepare for next development iteration

Posted by lu...@apache.org.
[maven-release-plugin] prepare for next development iteration


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

Branch: refs/heads/0.7.1
Commit: 1bc7eb9e74582626ffe72de9cec7dd2b0aaf8828
Parents: 3f1d315
Author: Luke Han <lu...@apache.org>
Authored: Tue May 26 17:01:41 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:41 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   | 2 +-
 common/pom.xml        | 2 +-
 cube/pom.xml          | 2 +-
 dictionary/pom.xml    | 2 +-
 invertedindex/pom.xml | 2 +-
 jdbc/pom.xml          | 2 +-
 job/pom.xml           | 2 +-
 metadata/pom.xml      | 2 +-
 pom.xml               | 4 ++--
 query/pom.xml         | 2 +-
 server/pom.xml        | 2 +-
 storage/pom.xml       | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index 9417503..8986f0c 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index 310ee93..faed39d 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index d3f6915..07f9a58 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 3d04215..075fab1 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index 10669e7..8e89ee4 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 9c29977..7f707c7 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.1-incubating</version>
+		<version>0.7.2-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index e49c792..44a0f5f 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index 2c7e7ab..e842673 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9ffd26a..8c0b6e6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.1-incubating</version>
+    <version>0.7.2-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -145,7 +145,7 @@
         <connection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</developerConnection>
         <url>https://git-wip-us.apache.org/repos/asf/incubator-kylin.git</url>
-        <tag>kylin-0.7.1-incubating</tag>
+        <tag>apache-kylin-0.7.1-incubating</tag>
     </scm>
 
     <dependencyManagement>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 60b09e1..3881b4d 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 276e384..1578c62 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/1bc7eb9e/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 3b18de0..0d5918a 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.1-incubating</version>
+        <version>0.7.2-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>


[04/49] incubator-kylin git commit: Merge branch '0.7.1-staging' of https://git-wip-us.apache.org/repos/asf/incubator-kylin into 0.7.1-staging

Posted by lu...@apache.org.
Merge branch '0.7.1-staging' of https://git-wip-us.apache.org/repos/asf/incubator-kylin into 0.7.1-staging


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

Branch: refs/heads/0.7.1
Commit: 46e37001ed71d24dd2f6993243df5e26ca06fec7
Parents: 44a5ccb 384f088
Author: jiazhong <ji...@ebay.com>
Authored: Fri May 22 15:50:17 2015 +0800
Committer: jiazhong <ji...@ebay.com>
Committed: Fri May 22 15:50:17 2015 +0800

----------------------------------------------------------------------
 docs/release_notes.md | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
----------------------------------------------------------------------



[48/49] incubator-kylin git commit: rollback due to failed rc

Posted by lu...@apache.org.
rollback due to failed rc


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

Branch: refs/heads/0.7.1
Commit: 06136b848f7c72ce0fb4223bf38dcae7530b874d
Parents: a36025f
Author: Luke Han <lu...@apache.org>
Authored: Tue Jun 2 17:09:21 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:42 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml   |   2 +-
 common/pom.xml        |   2 +-
 cube/pom.xml          |   2 +-
 dictionary/pom.xml    |   2 +-
 invertedindex/pom.xml |   2 +-
 jdbc/pom.xml          |   2 +-
 job/pom.xml           |   2 +-
 metadata/pom.xml      |   2 +-
 pom.xml               | 145 ++++++++++++++++++++++++---------------------
 query/pom.xml         |   2 +-
 server/pom.xml        |   2 +-
 storage/pom.xml       |   2 +-
 12 files changed, 87 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index 8986f0c..cf06b15 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index faed39d..e8cf42b 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 07f9a58..0fdd708 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 075fab1..524a52f 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index 8e89ee4..dcf961b 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 7f707c7..24feef9 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.2-incubating-SNAPSHOT</version>
+		<version>0.7.1-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index 44a0f5f..d3c0b55 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e842673..e10777a 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e36601d..a448518 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,8 @@
  limitations under the License.
 -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
@@ -29,7 +30,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.2-incubating-SNAPSHOT</version>
+    <version>0.7.1-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>
@@ -662,77 +663,21 @@
             <id>apache-release</id>
             <build>
                 <plugins>
-                    <!-- Override the parent assembly execution to customize the assembly
-              descriptor and final name. -->
-                    <plugin>
-                        <artifactId>maven-assembly-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>source-release-assembly</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>single</goal>
-                                </goals>
-                                <configuration>
-                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
-                                    <appendAssemblyId>false</appendAssemblyId>
-                                    <descriptor>src/main/config/assemblies/source-assembly.xml</descriptor>
-                                    <finalName>apache-kylin-${project.version}-src</finalName>
-                                    <tarLongFileMode>gnu</tarLongFileMode>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-surefire-plugin</artifactId>
-                        <version>2.16</version>
-                        <configuration>
-                            <reportsDirectory>${project.basedir}/../target/surefire-reports</reportsDirectory>
-                            <excludes>
-                                <exclude>**/BuildCubeWithEngineTest.java</exclude>
-                                <exclude>**/BuildIIWithEngineTest.java</exclude>
-                                <exclude>**/SampleCubeSetupTest.java</exclude>
-                                <exclude>**/KylinQueryTest.java</exclude>
-                                <exclude>**/SnapshotManagerTest.java</exclude>
-                                <exclude>**/HiveTableReaderTest.java</exclude>
-                                <exclude>**/TableControllerTest.java</exclude>
-
-                                <!--test case under server folder are problematic when tested against minicluster-->
-                                <exclude>**/ServiceTestBase.java</exclude>
-                                <exclude>**/JDBCDriverTest.java</exclude>
-                                <exclude>%regex[.*ControllerTest.*]</exclude>
-                                <exclude>%regex[.*ServiceTest.*]</exclude>
-
-                            </excludes>
-                            <systemProperties>
-                                <property>
-                                    <name>useSandbox</name>
-                                    <value>false</value>
-                                </property>
-                                <property>
-                                    <name>buildCubeUsingProvidedData</name>
-                                    <value>false</value>
-                                </property>
-                            </systemProperties>
-                            <argLine>-Xms1G -Xmx4G -XX:PermSize=128M -XX:MaxPermSize=512M</argLine>
-                        </configuration>
-                    </plugin>
                     <!-- Apache-RAT checks for files without headers.
-                         If run on a messy developer's sandbox, it will fail.
-                         This serves as a reminder to only build a release in a clean
-                         sandbox! -->
+                    If run on a messy developer's sandbox, it will fail.
+                    This serves as a reminder to only build a release in a clean
+                    sandbox! -->
                     <plugin>
                         <groupId>org.apache.rat</groupId>
                         <artifactId>apache-rat-plugin</artifactId>
                         <configuration>
-                            <numUnapprovedLicenses>0</numUnapprovedLicenses>
                             <excludes>
-                                <exclude>.idea/**</exclude>
-                                <exclude>.git/**</exclude>
+                                <exclude>**/.idea/**</exclude>
+                                <exclude>**/.git/**</exclude>
                                 <exclude>.settings/**</exclude>
+
                                 <!-- text files without comments -->
-                                <exclude>**/*.csv</exclude>
+                                <exclude>**//*.csv</exclude>
                                 <exclude>**/*.json</exclude>
                                 <exclude>**/*.md</exclude>
                                 <!-- binary files -->
@@ -750,15 +695,18 @@
 
                                 <exclude>docs/website/**</exclude>
 
-                                <!-- tomcat package -->
-                                <exclude>tomcat/**</exclude>
                                 <!-- front end libary and generated files -->
+                                <exclude>webapp/*.json</exclude>
+                                <exclude>webapp/*.js</exclude>
                                 <exclude>webapp/node_modules/**</exclude>
                                 <exclude>webapp/dist/**</exclude>
                                 <exclude>webapp/app/components/**</exclude>
                                 <!-- json configuration file-->
                                 <exclude>webapp/.bowerrc</exclude>
                                 <exclude>webapp/.jshintrc</exclude>
+
+
+
                                 <!-- generated dict files -->
                                 <exclude>dictionary/metastore_db/**</exclude>
 
@@ -767,8 +715,10 @@
                                 <exclude>webapp/app/css/AdminLTE.css</exclude>
 
                                 <!-- jdbc log -->
-                                <exclude>jdbc/kylin_jdbc.log.*</exclude>
-                                <exclude>jdbc/kylin_jdbc.*</exclude>
+                                <exclude>jdbc/kylin_jdbc.log*</exclude>
+
+                                <!-- HBase MiniCluster Testing Data -->
+                                <exclude>examples/test_case_data/minicluster/hbase-export.tar.gz</exclude>
 
                             </excludes>
                         </configuration>
@@ -794,6 +744,63 @@
                             </dependency>
                         </dependencies>
                     </plugin>
+                    <!-- Override the parent assembly execution to customize the assembly
+              descriptor and final name. -->
+                    <plugin>
+                        <artifactId>maven-assembly-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>source-release-assembly</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>single</goal>
+                                </goals>
+                                <configuration>
+                                    <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
+                                    <appendAssemblyId>false</appendAssemblyId>
+                                    <descriptor>src/main/config/assemblies/source-assembly.xml</descriptor>
+                                    <finalName>apache-kylin-${project.version}-src</finalName>
+                                    <tarLongFileMode>gnu</tarLongFileMode>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <version>2.16</version>
+                        <configuration>
+                            <reportsDirectory>${project.basedir}/../target/surefire-reports</reportsDirectory>
+                            <excludes>
+                                <exclude>**/BuildCubeWithEngineTest.java</exclude>
+                                <exclude>**/BuildIIWithEngineTest.java</exclude>
+                                <exclude>**/SampleCubeSetupTest.java</exclude>
+                                <exclude>**/KylinQueryTest.java</exclude>
+                                <exclude>**/SnapshotManagerTest.java</exclude>
+                                <exclude>**/HiveTableReaderTest.java</exclude>
+                                <exclude>**/TableControllerTest.java</exclude>
+
+                                <!--test case under server folder are problematic when tested against minicluster-->
+                                <exclude>**/ServiceTestBase.java</exclude>
+                                <exclude>**/JDBCDriverTest.java</exclude>
+                                <exclude>%regex[.*ControllerTest.*]</exclude>
+                                <exclude>%regex[.*ServiceTest.*]</exclude>
+
+                            </excludes>
+                            <systemProperties>
+                                <property>
+                                    <name>useSandbox</name>
+                                    <value>false</value>
+                                </property>
+                                <property>
+                                    <name>buildCubeUsingProvidedData</name>
+                                    <value>false</value>
+                                </property>
+                            </systemProperties>
+                            <argLine>-Xms1G -Xmx4G -XX:PermSize=128M -XX:MaxPermSize=512M</argLine>
+                        </configuration>
+                    </plugin>
+
                     <plugin>
                         <groupId>net.ju-n.maven.plugins</groupId>
                         <artifactId>checksum-maven-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 3881b4d..030482b 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 1578c62..c99ed94 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/06136b84/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 0d5918a..177e731 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>


[45/49] incubator-kylin git commit: exclude website content, rollback for failed release

Posted by lu...@apache.org.
exclude website content, rollback for failed release


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

Branch: refs/heads/0.7.1
Commit: f5dc6b9107c2da7018f51378ca6b3da7519f48fd
Parents: 27cac9b
Author: Luke Han <lu...@apache.org>
Authored: Tue Jun 2 18:07:59 2015 +0800
Committer: Luke Han <lu...@apache.org>
Committed: Tue Jun 2 18:15:42 2015 +0800

----------------------------------------------------------------------
 atopcalcite/pom.xml                            |  2 +-
 common/pom.xml                                 |  2 +-
 cube/pom.xml                                   |  2 +-
 dictionary/pom.xml                             |  2 +-
 invertedindex/pom.xml                          |  2 +-
 jdbc/pom.xml                                   |  2 +-
 job/pom.xml                                    |  2 +-
 metadata/pom.xml                               |  2 +-
 pom.xml                                        |  2 +-
 query/pom.xml                                  |  2 +-
 server/pom.xml                                 |  2 +-
 src/main/config/assemblies/source-assembly.xml | 11 +++++------
 storage/pom.xml                                |  2 +-
 13 files changed, 17 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/atopcalcite/pom.xml
----------------------------------------------------------------------
diff --git a/atopcalcite/pom.xml b/atopcalcite/pom.xml
index 8986f0c..cf06b15 100644
--- a/atopcalcite/pom.xml
+++ b/atopcalcite/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/common/pom.xml
----------------------------------------------------------------------
diff --git a/common/pom.xml b/common/pom.xml
index faed39d..e8cf42b 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/cube/pom.xml
----------------------------------------------------------------------
diff --git a/cube/pom.xml b/cube/pom.xml
index 07f9a58..0fdd708 100644
--- a/cube/pom.xml
+++ b/cube/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/dictionary/pom.xml
----------------------------------------------------------------------
diff --git a/dictionary/pom.xml b/dictionary/pom.xml
index 075fab1..524a52f 100644
--- a/dictionary/pom.xml
+++ b/dictionary/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/invertedindex/pom.xml
----------------------------------------------------------------------
diff --git a/invertedindex/pom.xml b/invertedindex/pom.xml
index 8e89ee4..dcf961b 100644
--- a/invertedindex/pom.xml
+++ b/invertedindex/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>kylin</artifactId>
         <groupId>org.apache.kylin</groupId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>kylin-invertedindex</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 7f707c7..24feef9 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -27,7 +27,7 @@
 	<parent>
 		<groupId>org.apache.kylin</groupId>
 		<artifactId>kylin</artifactId>
-		<version>0.7.2-incubating-SNAPSHOT</version>
+		<version>0.7.1-incubating-SNAPSHOT</version>
 	</parent>
 
 	<properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/job/pom.xml
----------------------------------------------------------------------
diff --git a/job/pom.xml b/job/pom.xml
index 44a0f5f..d3c0b55 100644
--- a/job/pom.xml
+++ b/job/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <artifactId>kylin-job</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/metadata/pom.xml
----------------------------------------------------------------------
diff --git a/metadata/pom.xml b/metadata/pom.xml
index e842673..e10777a 100644
--- a/metadata/pom.xml
+++ b/metadata/pom.xml
@@ -27,7 +27,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e36601d..8f679d8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,7 +29,7 @@
     <groupId>org.apache.kylin</groupId>
     <artifactId>kylin</artifactId>
     <packaging>pom</packaging>
-    <version>0.7.2-incubating-SNAPSHOT</version>
+    <version>0.7.1-incubating-SNAPSHOT</version>
     <name>Kylin:HadoopOLAPEngine</name>
     <url>http://kylin.incubator.apache.org</url>
     <inceptionYear>2014</inceptionYear>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/query/pom.xml
----------------------------------------------------------------------
diff --git a/query/pom.xml b/query/pom.xml
index 3881b4d..030482b 100644
--- a/query/pom.xml
+++ b/query/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 1578c62..c99ed94 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -28,7 +28,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <properties>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/src/main/config/assemblies/source-assembly.xml
----------------------------------------------------------------------
diff --git a/src/main/config/assemblies/source-assembly.xml b/src/main/config/assemblies/source-assembly.xml
index d9f1501..40773db 100644
--- a/src/main/config/assemblies/source-assembly.xml
+++ b/src/main/config/assemblies/source-assembly.xml
@@ -72,20 +72,19 @@ limitations under the License.
                 <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.gitignore(/.*)?]
                 </exclude>
 
-                <exclude>**/.buildpath</exclude>
-                <exclude>**/sandbox/**</exclude>
-
-                <!-- misc -->
-                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?docs/website(/.*)?]
                 </exclude>
 
                 <!-- release-plugin temp files -->
                 <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]
                 </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.next]
+                </exclude>
+                <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.tag]
+                </exclude>
                 <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]
                 </exclude>
 
-                <exclude>**/website/**</exclude>
             </excludes>
         </fileSet>
         <!-- LICENSE, NOTICE, DEPENDENCIES, git.properties, etc. calculated at build time -->

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/f5dc6b91/storage/pom.xml
----------------------------------------------------------------------
diff --git a/storage/pom.xml b/storage/pom.xml
index 0d5918a..177e731 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.kylin</groupId>
         <artifactId>kylin</artifactId>
-        <version>0.7.2-incubating-SNAPSHOT</version>
+        <version>0.7.1-incubating-SNAPSHOT</version>
     </parent>
 
     <dependencies>