[kylin] 03/05: Update scripts for HDP 3.0
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 7a3097c486b62aef96e7a5c12a7832334d98e3c5 Author: shaofengshi AuthorDate: Tue Aug 28 11:47:03 2018 +0800 Update scripts for HDP 3.0 --- build/bin/find-hive-dependency.sh | 2 +- build/bin/find-spark-dependency.sh | 2 +- build/script/download-tomcat.sh| 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build/bin/find-hive-dependency.sh b/build/bin/find-hive-dependency.sh index c647af1..02bad47 100755 --- a/build/bin/find-hive-dependency.sh +++ b/build/bin/find-hive-dependency.sh @@ -150,7 +150,7 @@ then else hive_lib_dir="$HIVE_LIB" fi -hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*calcite*' ! -name '*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'` +hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*druid*' ! -name '*slf4j*' ! -name '*avatica*' ! -name '*calcite*' ! -name '*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'` validateDirectory ${hive_conf_path} checkFileExist ${hive_lib} diff --git a/build/bin/find-spark-dependency.sh b/build/bin/find-spark-dependency.sh index 3565bfc..7179944 100755 --- a/build/bin/find-spark-dependency.sh +++ b/build/bin/find-spark-dependency.sh @@ -35,7 +35,7 @@ then spark_home=$KYLIN_HOME/spark fi -spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*doc*' ! -name '*test*' ! -name '*sources*' ''-printf '%p:' | sed 's/:$//'` +spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*slf4j*' ! -name '*calcite*' ! -name '*doc*' ! -name '*test*' ! -name '*sources*' ''-printf '%p:' | sed 's/:$//'` if [ -z "$spark_dependency" ] then quit "spark jars not found" diff --git a/build/script/download-tomcat.sh b/build/script/download-tomcat.sh index beda172..eefc6ba 100755 --- a/build/script/download-tomcat.sh +++ b/build/script/download-tomcat.sh @@ -27,13 +27,13 @@ if [[ `uname -a` =~ "Darwin" ]]; then alias md5cmd="md5 -q" fi -tomcat_pkg_version="7.0.85" -tomcat_pkg_md5="1ad4760080164bb08e924c330703c94d" +tomcat_pkg_version="8.5.33" +tomcat_pkg_md5="79a5ce0bb2c1503a8e46bf00c6ed9181" if [ ! -f "build/apache-tomcat-${tomcat_pkg_version}.tar.gz" ] then echo "no binary file found" -wget --directory-prefix=build/ http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat_pkg_version}/bin/apache-tomcat-${tomcat_pkg_version}.tar.gz || echo "Download tomcat failed" +wget --directory-prefix=build/ http://archive.apache.org/dist/tomcat/tomcat-8/v${tomcat_pkg_version}/bin/apache-tomcat-${tomcat_pkg_version}.tar.gz || echo "Download tomcat failed" else if [ `md5cmd build/apache-tomcat-${tomcat_pkg_version}.tar.gz | awk '{print $1}'` != "${tomcat_pkg_md5}" ] then
[kylin] 01/05: KYLIN-2565, upgrade to Hadoop3.0
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 2cf62401ae7e2d48e9d8bb086558dadf7d63fa56 Author: Cheng Wang AuthorDate: Tue Apr 25 18:45:57 2017 +0800 KYLIN-2565, upgrade to Hadoop3.0 --- .../mr/common/DefaultSslProtocolSocketFactory.java | 150 -- .../kylin/engine/mr/common/HadoopStatusGetter.java | 280 ++ .../apache/kylin/engine/spark/SparkCountDemo.java | 80 +++ .../org/apache/kylin/engine/spark/SparkCubing.java | 591 + pom.xml| 19 +- server-base/pom.xml| 5 + .../org/apache/kylin/rest/security/MockHTable.java | 112 ++-- .../kylin/storage/hbase/HBaseConnection.java | 5 + .../storage/hbase/cube/v2/CubeHBaseScanRPC.java| 15 +- .../v2/coprocessor/endpoint/CubeVisitService.java | 4 +- .../kylin/storage/hbase/steps/CubeHFileJob.java| 12 + .../storage/hbase/steps/HBaseCuboidWriter.java | 133 + .../kylin/storage/hbase/util/CubeMigrationCLI.java | 2 +- .../storage/hbase/util/DeployCoprocessorCLI.java | 3 +- .../storage/hbase/util/ExtendCubeToHybridCLI.java | 2 +- .../hbase/util/GridTableHBaseBenchmark.java| 2 +- .../kylin/storage/hbase/util/PingHBaseCLI.java | 3 +- .../storage/hbase/steps/CubeHFileMapperTest.java | 22 +- .../kylin/storage/hbase/steps/TestHbaseClient.java | 14 +- .../org/apache/kylin/tool/CubeMigrationCLI.java| 14 +- .../apache/kylin/tool/CubeMigrationCheckCLI.java | 17 +- .../apache/kylin/tool/ExtendCubeToHybridCLI.java | 2 +- .../org/apache/kylin/tool/StorageCleanupJob.java | 1 + 23 files changed, 1240 insertions(+), 248 deletions(-) diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java deleted file mode 100644 index d66e4eb..000 --- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.engine.mr.common; - -import java.io.IOException; -import java.net.InetAddress; -import java.net.Socket; -import java.net.UnknownHostException; - -import javax.net.ssl.SSLContext; -import javax.net.ssl.TrustManager; - -import org.apache.commons.httpclient.ConnectTimeoutException; -import org.apache.commons.httpclient.HttpClientError; -import org.apache.commons.httpclient.params.HttpConnectionParams; -import org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory; -import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author xduo - * - */ -public class DefaultSslProtocolSocketFactory implements SecureProtocolSocketFactory { -/** Log object for this class. */ -private static Logger logger = LoggerFactory.getLogger(DefaultSslProtocolSocketFactory.class); -private SSLContext sslcontext = null; - -/** - * Constructor for DefaultSslProtocolSocketFactory. - */ -public DefaultSslProtocolSocketFactory() { -super(); -} - -/** - * @see SecureProtocolSocketFactory#createSocket(java.lang.String,int,java.net.InetAddress,int) - */ -public Socket createSocket(String host, int port, InetAddress clientHost, int clientPort) throws IOException, UnknownHostException { -return getSSLContext().getSocketFactory().createSocket(host, port, clientHost, clientPort); -} - -/** - * Attempts to get a new socket connection to the given host within the - * given time limit. - * - * - * To circumvent the limitations of older JREs that do not support connect - * timeout a controller thread is executed. The controller thread attempts - * to create a new socket within the given limit of time. If socket - * constructor does not return until the timeout expires, the controller - * terminates and throws an {@link
[kylin] 05/05: KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 7dbd6281913c7c9701a76fe4e84a4da54d7f5ffe Author: Lijun Cao <> AuthorDate: Tue Sep 4 09:56:36 2018 +0800 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. Signed-off-by: shaofengshi --- .../hbase/lookup/LookupTableToHFileJob.java| 24 +-- .../kylin/storage/hbase/steps/CubeHTableUtil.java | 46 +++--- .../storage/hbase/util/DeployCoprocessorCLI.java | 46 +++--- 3 files changed, 60 insertions(+), 56 deletions(-) diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java index 054e146..2789401 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java @@ -26,12 +26,12 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.HTable; +import org.apache.hadoop.hbase.client.TableDescriptorBuilder; import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2; import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy; import org.apache.hadoop.hdfs.DFSConfigKeys; @@ -207,24 +207,24 @@ public class LookupTableToHFileJob extends AbstractHadoopJob { String hTableName = genHTableName(kylinConfig, admin, sourceTableName); TableName tableName = TableName.valueOf(hTableName); -HTableDescriptor hTableDesc = new HTableDescriptor(tableName); -hTableDesc.setCompactionEnabled(false); -hTableDesc.setValue(HTableDescriptor.SPLIT_POLICY, DisabledRegionSplitPolicy.class.getName()); -hTableDesc.setValue(IRealizationConstants.HTableTag, kylinConfig.getMetadataUrlPrefix()); -hTableDesc.setValue(IRealizationConstants.HTableCreationTime, String.valueOf(System.currentTimeMillis())); +TableDescriptorBuilder descBuilder = TableDescriptorBuilder.newBuilder(tableName); +descBuilder.setCompactionEnabled(false); +descBuilder.setValue(TableDescriptorBuilder.SPLIT_POLICY, DisabledRegionSplitPolicy.class.getName()); +descBuilder.setValue(IRealizationConstants.HTableTag, kylinConfig.getMetadataUrlPrefix()); +descBuilder.setValue(IRealizationConstants.HTableCreationTime, String.valueOf(System.currentTimeMillis())); String commitInfo = KylinVersion.getGitCommitInfo(); if (!StringUtils.isEmpty(commitInfo)) { -hTableDesc.setValue(IRealizationConstants.HTableGitTag, commitInfo); +descBuilder.setValue(IRealizationConstants.HTableGitTag, commitInfo); } -HColumnDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, false); -hTableDesc.addFamily(cf); +ColumnFamilyDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, false); +descBuilder.modifyColumnFamily(cf); try { if (shardNum > 1) { -admin.createTable(hTableDesc, getSplitsByShardNum(shardNum)); +admin.createTable(descBuilder.build(), getSplitsByShardNum(shardNum)); } else { -admin.createTable(hTableDesc); +admin.createTable(descBuilder.build()); } } finally { IOUtils.closeQuietly(admin); diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java index f006adb..9e3703c 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java @@ -23,11 +23,12 @@ import java.io.IOException; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder; import
[kylin] 04/05: KYLIN-3518 Fix Coprocessor NPE problem on hbase 2
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 45b20ca17a6070c35d3a8967f595a06cbae3a108 Author: Lijun Cao <> AuthorDate: Thu Aug 30 09:28:54 2018 +0800 KYLIN-3518 Fix Coprocessor NPE problem on hbase 2 --- build/deploy/server.xml | 2 +- build/script/elimate-jar-conflict.sh | 20 build/script/prepare.sh | 3 +++ .../v2/coprocessor/endpoint/CubeVisitService.java| 10 +- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/build/deploy/server.xml b/build/deploy/server.xml index 96f329b..920be25 100644 --- a/build/deploy/server.xml +++ b/build/deploy/server.xml @@ -26,7 +26,7 @@ - + diff --git a/build/script/elimate-jar-conflict.sh b/build/script/elimate-jar-conflict.sh new file mode 100644 index 000..d02a874 --- /dev/null +++ b/build/script/elimate-jar-conflict.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +current_dir=`pwd` +cd ${current_dir}/build/tomcat/webapps +unzip kylin.war && rm -f kylin.war +cd WEB-INF/lib +#remove slf4j-api-1.7.21.jar to solve slf4j conflict +rm -f slf4j-api-1.7.21.jar +mkdir modify_avatica_jar && mv avatica-1.10.0.jar modify_avatica_jar +cd modify_avatica_jar +#remove org/slf4j in avatica-1.10.0.jar and repackage it to solve slf4j conflict +unzip avatica-1.10.0.jar && rm -f avatica-1.10.0.jar +rm -rf org/slf4j && jar -cf avatica-1.10.0.jar ./ +rm -rf `ls | egrep -v avatica-1.10.0.jar` +mv avatica-1.10.0.jar .. +cd .. && rm -rf modify_avatica_jar +cd ${current_dir}/build/tomcat/webapps +#repackage kylin.war +jar -cf kylin.war ./ && rm -rf `ls | egrep -v kylin.war` +cd ${current_dir} \ No newline at end of file diff --git a/build/script/prepare.sh b/build/script/prepare.sh index deaf58d..be9dd9d 100755 --- a/build/script/prepare.sh +++ b/build/script/prepare.sh @@ -31,6 +31,9 @@ export version sh build/script/prepare-libs.sh || { exit 1; } cp server/target/kylin-server-${version}.war build/tomcat/webapps/kylin.war + +sh build/script/elimate-jar-conflict.sh + chmod 644 build/tomcat/webapps/kylin.war echo "add js css to war" diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java index ded3500..2beddc7 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java @@ -24,6 +24,7 @@ import java.lang.management.ManagementFactory; import java.net.InetAddress; import java.nio.BufferOverflowException; import java.nio.ByteBuffer; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -31,12 +32,11 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang.ArrayUtils; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; -import org.apache.hadoop.hbase.Coprocessor; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.DoNotRetryIOException; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.coprocessor.CoprocessorException; -import org.apache.hadoop.hbase.coprocessor.CoprocessorService; +import org.apache.hadoop.hbase.coprocessor.RegionCoprocessor; import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment; import org.apache.hadoop.hbase.regionserver.HRegion; import org.apache.hadoop.hbase.regionserver.RegionScanner; @@ -78,7 +78,7 @@ import com.sun.management.OperatingSystemMXBean; @SuppressWarnings("unused") //used in hbase endpoint -public class CubeVisitService extends CubeVisitProtos.CubeVisitService implements Coprocessor, CoprocessorService { +public class CubeVisitService extends CubeVisitProtos.CubeVisitService implements RegionCoprocessor { private static final Logger logger = LoggerFactory.getLogger(CubeVisitService.class); //TODO limit memory footprint @@ -448,7 +448,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement } @Override -public Service getService() { -return this; +public Iterable getServices() { +return Collections.singleton(this); } }
[kylin] branch 2.5.x-hadoop3.1 updated (717ec80 -> 7dbd628)
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a change to branch 2.5.x-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git. discard 717ec80 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. discard b7c1e4e KYLIN-3518 Fix Coprocessor NPE problem on hbase 2 discard 48ae898 Update scripts for HDP 3.0 discard 3b86e19 KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT discard c9c8785 KYLIN-2565, upgrade to Hadoop3.0 add ded1813 KYLIN-3366 Configure automatic enabling of cubes after a build process add 3e63074 KYLIN-3258 No check for duplicate cube name when creating a hybrid cube add 3b3717f KYLIN-3529 Show more error message add d90bb04 KYLIN-3534 Don't compress fact distinct output file add 5ce6588 KYLIN-3527 Hybrid allows 0,1 cube add f15ae54 KYLIN-3539 Hybrid segment overlap check new 2cf6240 KYLIN-2565, upgrade to Hadoop3.0 new a220ff6 KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT new 7a3097c Update scripts for HDP 3.0 new 45b20ca KYLIN-3518 Fix Coprocessor NPE problem on hbase 2 new 7dbd628 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (717ec80) \ N -- N -- N refs/heads/2.5.x-hadoop3.1 (7dbd628) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../org/apache/kylin/common/KylinConfigBase.java | 4 ++ .../kylin/common/util/AbstractApplication.java | 2 +- .../java/org/apache/kylin/cube/CubeManager.java| 9 +++- .../kylin/engine/spark/SparkFactDistinct.java | 7 +++- .../org/apache/kylin/rest/job/HybridCubeCLI.java | 48 +++--- .../org/apache/kylin/tool/HybridCubeCLITest.java | 48 ++ 6 files changed, 99 insertions(+), 19 deletions(-)
[kylin] 02/05: KYLIN-3529 Show more error message
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x in repository https://gitbox.apache.org/repos/asf/kylin.git commit 3b3717f11fb7e7f4ed70ace943a064bf704a42a7 Author: chao long AuthorDate: Wed Sep 5 09:55:10 2018 +0800 KYLIN-3529 Show more error message --- .../src/main/java/org/apache/kylin/common/util/AbstractApplication.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java b/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java index ab1e691..7275e10 100644 --- a/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java +++ b/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java @@ -39,7 +39,7 @@ public abstract class AbstractApplication { optionsHelper.printUsage(this.getClass().getName(), getOptions()); throw new RuntimeException("error parsing args", e); } catch (Exception e) { -throw new RuntimeException("error execute " + this.getClass().getName(), e); +throw new RuntimeException("error execute " + this.getClass().getName() + ". Root cause: " + e.getMessage(), e); } } }
[kylin] branch 2.5.x updated (ded1813 -> f15ae54)
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a change to branch 2.5.x in repository https://gitbox.apache.org/repos/asf/kylin.git. from ded1813 KYLIN-3366 Configure automatic enabling of cubes after a build process new 3e63074 KYLIN-3258 No check for duplicate cube name when creating a hybrid cube new 3b3717f KYLIN-3529 Show more error message new d90bb04 KYLIN-3534 Don't compress fact distinct output file new 5ce6588 KYLIN-3527 Hybrid allows 0,1 cube new f15ae54 KYLIN-3539 Hybrid segment overlap check The 5 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../kylin/common/util/AbstractApplication.java | 2 +- .../kylin/engine/spark/SparkFactDistinct.java | 7 +++- .../org/apache/kylin/rest/job/HybridCubeCLI.java | 48 +++--- .../org/apache/kylin/tool/HybridCubeCLITest.java | 48 ++ 4 files changed, 88 insertions(+), 17 deletions(-)
[kylin] 04/05: KYLIN-3527 Hybrid allows 0,1 cube
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x in repository https://gitbox.apache.org/repos/asf/kylin.git commit 5ce6588eda365cf4aca5f53ab6cb1adaa4ffe9e8 Author: chao long AuthorDate: Wed Sep 5 14:16:31 2018 +0800 KYLIN-3527 Hybrid allows 0,1 cube --- .../src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java| 4 1 file changed, 4 deletions(-) diff --git a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java index e332e1d..303e000 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java +++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java @@ -202,10 +202,6 @@ public class HybridCubeCLI extends AbstractApplication { } private void checkSegmentOffset(List realizationEntries) { -if (realizationEntries == null || realizationEntries.size() == 0) -throw new IllegalArgumentException("No realization found"); -if (realizationEntries.size() == 1) -throw new IllegalArgumentException("Hybrid needs at least 2 cubes"); long lastOffset = -1; for (RealizationEntry entry : realizationEntries) { if (entry.getType() != RealizationType.CUBE) {
[kylin] 05/05: KYLIN-3539 Hybrid segment overlap check
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x in repository https://gitbox.apache.org/repos/asf/kylin.git commit f15ae54b10ef7b9f22f605d61618d16038512113 Author: chao long AuthorDate: Mon Sep 10 16:00:46 2018 +0800 KYLIN-3539 Hybrid segment overlap check --- .../org/apache/kylin/rest/job/HybridCubeCLI.java | 30 +- .../org/apache/kylin/tool/HybridCubeCLITest.java | 48 ++ 2 files changed, 68 insertions(+), 10 deletions(-) diff --git a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java index 303e000..443eba6 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java +++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; +import java.util.Collections; import java.util.List; import org.apache.commons.cli.Option; @@ -38,6 +39,8 @@ import org.apache.kylin.cube.CubeManager; import org.apache.kylin.cube.CubeSegment; import org.apache.kylin.metadata.model.DataModelDesc; import org.apache.kylin.metadata.model.DataModelManager; +import org.apache.kylin.metadata.model.SegmentRange; +import org.apache.kylin.metadata.model.Segments; import org.apache.kylin.metadata.project.ProjectManager; import org.apache.kylin.metadata.project.RealizationEntry; import org.apache.kylin.metadata.realization.RealizationType; @@ -46,6 +49,8 @@ import org.apache.kylin.storage.hybrid.HybridManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.collect.Lists; + /** * 1. Create new HybridCube * bin/kylin.sh org.apache.kylin.tool.HybridCubeCLI -action create -name hybrid_name -project project_name -model model_name -cubes cube1,cube2 @@ -202,23 +207,28 @@ public class HybridCubeCLI extends AbstractApplication { } private void checkSegmentOffset(List realizationEntries) { -long lastOffset = -1; +List segmentRanges = Lists.newArrayList(); + for (RealizationEntry entry : realizationEntries) { if (entry.getType() != RealizationType.CUBE) { throw new IllegalArgumentException("Wrong realization type: " + entry.getType() + ", only cube supported. "); } CubeInstance cubeInstance = cubeManager.getCube(entry.getRealization()); -CubeSegment segment = cubeInstance.getLastSegment(); -if (segment == null) -continue; -if (lastOffset == -1) { -lastOffset = (Long) segment.getSegRange().end.v; -} else { -if (lastOffset > (Long) segment.getSegRange().start.v) { -throw new IllegalArgumentException("Segments has overlap, could not hybrid. Last Segment End: " + lastOffset + ", Next Segment Start: " + segment.getSegRange().start.v); +Segments segments = cubeInstance.getSegments(); + +for (CubeSegment segment : segments) { +segmentRanges.add(segment.getSegRange()); +} +} + +if (segmentRanges.size() >= 2) { +Collections.sort(segmentRanges); + +for (int i = 0; i < segmentRanges.size() - 1; i++) { +if (segmentRanges.get(i).overlaps(segmentRanges.get(i + 1))) { +throw new IllegalArgumentException("Segments has overlap, could not hybrid. First Segment Range: [" + segmentRanges.get(i).start.v + "," + segmentRanges.get(i).end.v + "], Second Segment Range: [" + segmentRanges.get(i + 1).start.v + "," + segmentRanges.get(i + 1).end.v + "]"); } -lastOffset = (Long) segment.getSegRange().end.v; } } } diff --git a/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java b/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java index f4ed595..99b8319 100644 --- a/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java +++ b/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java @@ -22,6 +22,9 @@ import java.io.IOException; import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.util.LocalFileMetadataTestCase; +import org.apache.kylin.cube.CubeInstance; +import org.apache.kylin.cube.CubeManager; +import org.apache.kylin.metadata.model.SegmentRange; import org.apache.kylin.metadata.project.ProjectManager; import org.apache.kylin.metadata.realization.RealizationType; import org.apache.kylin.storage.hybrid.HybridInstance; @@ -30,12 +33,17 @@ import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.FixMethodOrder; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; import org.junit.runners.MethodSorters;
[kylin] 03/05: KYLIN-3534 Don't compress fact distinct output file
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x in repository https://gitbox.apache.org/repos/asf/kylin.git commit d90bb046d191dd06f194e7380da13698772e001f Author: chao long AuthorDate: Wed Sep 5 09:55:44 2018 +0800 KYLIN-3534 Don't compress fact distinct output file --- .../main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java index 77ebd69..213cdfd 100644 --- a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java +++ b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java @@ -198,19 +198,22 @@ public class SparkFactDistinct extends AbstractApplication implements Serializab MultipleOutputs.addNamedOutput(job, BatchConstants.CFG_OUTPUT_PARTITION, TextOutputFormat.class, NullWritable.class, LongWritable.class); FileOutputFormat.setOutputPath(job, new Path(outputPath)); +FileOutputFormat.setCompressOutput(job, false); // prevent to create zero-sized default output LazyOutputFormat.setOutputFormatClass(job, SequenceFileOutputFormat.class); + MultipleOutputsRDD multipleOutputsRDD = MultipleOutputsRDD.rddToMultipleOutputsRDD(outputRDD); multipleOutputsRDD.saveAsNewAPIHadoopDatasetWithMultipleOutputs(job.getConfiguration()); -logger.info("Map input records={}", recordRDD.count()); +long recordCount = recordRDD.count(); +logger.info("Map input records={}", recordCount); logger.info("HDFS Read: {} HDFS Write", bytesWritten.value()); Map counterMap = Maps.newHashMap(); -counterMap.put(ExecutableConstants.SOURCE_RECORDS_COUNT, String.valueOf(recordRDD.count())); +counterMap.put(ExecutableConstants.SOURCE_RECORDS_COUNT, String.valueOf(recordCount)); counterMap.put(ExecutableConstants.SOURCE_RECORDS_SIZE, String.valueOf(bytesWritten.value())); // save counter to hdfs
[kylin] 01/05: KYLIN-3258 No check for duplicate cube name when creating a hybrid cube
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x in repository https://gitbox.apache.org/repos/asf/kylin.git commit 3e6307473d60036feb8c8497379eb4841d82d093 Author: GinaZhai AuthorDate: Fri Sep 7 11:33:13 2018 +0800 KYLIN-3258 No check for duplicate cube name when creating a hybrid cube --- .../main/java/org/apache/kylin/rest/job/HybridCubeCLI.java | 14 ++ 1 file changed, 14 insertions(+) diff --git a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java index 48e7f40..e332e1d 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java +++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java @@ -20,11 +20,14 @@ package org.apache.kylin.rest.job; import java.io.IOException; import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; import java.util.List; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; import org.apache.commons.cli.Options; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.persistence.ResourceStore; @@ -145,6 +148,17 @@ public class HybridCubeCLI extends AbstractApplication { realizationEntries.add(RealizationEntry.create(RealizationType.CUBE, cube.getName())); } +int realizationEntriesLen = realizationEntries.size(); +HashSet hashSet = new HashSet<>(); +for (int i = 0; i < realizationEntriesLen; i++) { +hashSet.add(realizationEntries.get(i)); +} +int hashSetLen = hashSet.size(); +if (realizationEntriesLen != hashSetLen) { +Collection duplicateCubes = CollectionUtils.subtract(realizationEntries, hashSet); +throw new IllegalArgumentException("The Cubes name does duplicate, could not create: " + duplicateCubes); +} + if ("create".equals(action)) { if (hybridInstance != null) { throw new IllegalArgumentException("The Hybrid Cube does exist, could not create: " + hybridName);
[kylin] branch master updated: KYLIN-3366 Configure automatic enabling of cubes after a build process
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kylin.git The following commit(s) were added to refs/heads/master by this push: new 165378b KYLIN-3366 Configure automatic enabling of cubes after a build process 165378b is described below commit 165378bb13a374fad80830ab9a5c56a45420aa7c Author: Zhong AuthorDate: Fri May 4 16:21:05 2018 +0800 KYLIN-3366 Configure automatic enabling of cubes after a build process Signed-off-by: shaofengshi --- .../src/main/java/org/apache/kylin/common/KylinConfigBase.java | 4 core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java | 9 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index c583129..816100e 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -718,6 +718,10 @@ abstract public class KylinConfigBase implements Serializable { return Integer.parseInt(this.getOptional("kylin.job.metadata-persist-retry", "5")); } +public boolean isJobAutoReadyCubeEnabled() { +return Boolean.parseBoolean(getOptional("kylin.job.cube-auto-ready-enabled", "true")); +} + // // SOURCE.HIVE // diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java index 23dcaf3..2a56941 100755 --- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java @@ -894,7 +894,10 @@ public class CubeManager implements IRealizationProvider { CubeUpdate update = new CubeUpdate(cubeCopy); update.setToRemoveSegs(toRemoveSegs.toArray(new CubeSegment[toRemoveSegs.size()])) - .setToUpdateSegs(newSegCopy).setStatus(RealizationStatusEnum.READY); +.setToUpdateSegs(newSegCopy); +if (cube.getConfig().isJobAutoReadyCubeEnabled()) { +update.setStatus(RealizationStatusEnum.READY); +} updateCube(update); } @@ -944,9 +947,11 @@ public class CubeManager implements IRealizationProvider { CubeUpdate update = new CubeUpdate(cubeCopy); update.setToRemoveSegs(originalSegments) // .setToUpdateSegs(optSegCopy) // -.setStatus(RealizationStatusEnum.READY) // .setCuboids(recommendCuboids) // .setCuboidsRecommend(Sets. newHashSet()); +if (cube.getConfig().isJobAutoReadyCubeEnabled()) { +update.setStatus(RealizationStatusEnum.READY); +} updateCube(update); }
[kylin] branch 2.5.x updated: KYLIN-3366 Configure automatic enabling of cubes after a build process
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.5.x in repository https://gitbox.apache.org/repos/asf/kylin.git The following commit(s) were added to refs/heads/2.5.x by this push: new ded1813 KYLIN-3366 Configure automatic enabling of cubes after a build process ded1813 is described below commit ded181304846a52452ce1bc3c597611d167a7eb0 Author: Zhong AuthorDate: Fri May 4 16:21:05 2018 +0800 KYLIN-3366 Configure automatic enabling of cubes after a build process Signed-off-by: shaofengshi --- .../src/main/java/org/apache/kylin/common/KylinConfigBase.java | 4 core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java | 9 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index 1850d20..79750e0 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -717,6 +717,10 @@ abstract public class KylinConfigBase implements Serializable { return Integer.parseInt(this.getOptional("kylin.job.metadata-persist-retry", "5")); } +public boolean isJobAutoReadyCubeEnabled() { +return Boolean.parseBoolean(getOptional("kylin.job.cube-auto-ready-enabled", "true")); +} + // // SOURCE.HIVE // diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java index 23dcaf3..2a56941 100755 --- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java @@ -894,7 +894,10 @@ public class CubeManager implements IRealizationProvider { CubeUpdate update = new CubeUpdate(cubeCopy); update.setToRemoveSegs(toRemoveSegs.toArray(new CubeSegment[toRemoveSegs.size()])) - .setToUpdateSegs(newSegCopy).setStatus(RealizationStatusEnum.READY); +.setToUpdateSegs(newSegCopy); +if (cube.getConfig().isJobAutoReadyCubeEnabled()) { +update.setStatus(RealizationStatusEnum.READY); +} updateCube(update); } @@ -944,9 +947,11 @@ public class CubeManager implements IRealizationProvider { CubeUpdate update = new CubeUpdate(cubeCopy); update.setToRemoveSegs(originalSegments) // .setToUpdateSegs(optSegCopy) // -.setStatus(RealizationStatusEnum.READY) // .setCuboids(recommendCuboids) // .setCuboidsRecommend(Sets. newHashSet()); +if (cube.getConfig().isJobAutoReadyCubeEnabled()) { +update.setStatus(RealizationStatusEnum.READY); +} updateCube(update); }
[kylin] branch 2.4.x updated: KYLIN-3366 Configure automatic enabling of cubes after a build process
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch 2.4.x in repository https://gitbox.apache.org/repos/asf/kylin.git The following commit(s) were added to refs/heads/2.4.x by this push: new 723cc7a KYLIN-3366 Configure automatic enabling of cubes after a build process 723cc7a is described below commit 723cc7a6b6ac7d260511a45f0188746a59d87c3c Author: Zhong AuthorDate: Fri May 4 16:21:05 2018 +0800 KYLIN-3366 Configure automatic enabling of cubes after a build process Signed-off-by: shaofengshi --- .../src/main/java/org/apache/kylin/common/KylinConfigBase.java | 4 core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java | 9 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index 8526e73..9b277e2 100644 --- a/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -686,6 +686,10 @@ abstract public class KylinConfigBase implements Serializable { return Integer.parseInt(this.getOptional("kylin.job.metadata-persist-retry", "5")); } +public boolean isJobAutoReadyCubeEnabled() { +return Boolean.parseBoolean(getOptional("kylin.job.cube-auto-ready-enabled", "true")); +} + // // SOURCE.HIVE // diff --git a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java index 7f81cb3..32cbb03 100755 --- a/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/CubeManager.java @@ -913,7 +913,10 @@ public class CubeManager implements IRealizationProvider { CubeUpdate update = new CubeUpdate(cubeCopy); update.setToRemoveSegs(toRemoveSegs.toArray(new CubeSegment[toRemoveSegs.size()])) - .setToUpdateSegs(newSegCopy).setStatus(RealizationStatusEnum.READY); +.setToUpdateSegs(newSegCopy); +if (cube.getConfig().isJobAutoReadyCubeEnabled()) { +update.setStatus(RealizationStatusEnum.READY); +} updateCube(update); } @@ -963,9 +966,11 @@ public class CubeManager implements IRealizationProvider { CubeUpdate update = new CubeUpdate(cubeCopy); update.setToRemoveSegs(originalSegments) // .setToUpdateSegs(optSegCopy) // -.setStatus(RealizationStatusEnum.READY) // .setCuboids(recommendCuboids) // .setCuboidsRecommend(Sets. newHashSet()); +if (cube.getConfig().isJobAutoReadyCubeEnabled()) { +update.setStatus(RealizationStatusEnum.READY); +} updateCube(update); }
[kylin] branch master-hadoop3.1-2.5.0 deleted (was 9602688)
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a change to branch master-hadoop3.1-2.5.0 in repository https://gitbox.apache.org/repos/asf/kylin.git. was 9602688 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. This change permanently discards the following revisions: discard 9602688 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.
[kylin] branch master-hadoop3.1-2.5.0 created (now 9602688)
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a change to branch master-hadoop3.1-2.5.0 in repository https://gitbox.apache.org/repos/asf/kylin.git. at 9602688 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. This branch includes the following new commits: new 9602688 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[kylin] 01/01: KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master-hadoop3.1-2.5.0 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 96026886774aff16f03e6d5424e9c0ccdfca1ca0 Author: Lijun Cao <> AuthorDate: Tue Sep 4 09:56:36 2018 +0800 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. Signed-off-by: shaofengshi --- .../hbase/lookup/LookupTableToHFileJob.java| 24 +-- .../kylin/storage/hbase/steps/CubeHTableUtil.java | 46 +++--- .../storage/hbase/util/DeployCoprocessorCLI.java | 46 +++--- 3 files changed, 60 insertions(+), 56 deletions(-) diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java index 054e146..2789401 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java @@ -26,12 +26,12 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.HTable; +import org.apache.hadoop.hbase.client.TableDescriptorBuilder; import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2; import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy; import org.apache.hadoop.hdfs.DFSConfigKeys; @@ -207,24 +207,24 @@ public class LookupTableToHFileJob extends AbstractHadoopJob { String hTableName = genHTableName(kylinConfig, admin, sourceTableName); TableName tableName = TableName.valueOf(hTableName); -HTableDescriptor hTableDesc = new HTableDescriptor(tableName); -hTableDesc.setCompactionEnabled(false); -hTableDesc.setValue(HTableDescriptor.SPLIT_POLICY, DisabledRegionSplitPolicy.class.getName()); -hTableDesc.setValue(IRealizationConstants.HTableTag, kylinConfig.getMetadataUrlPrefix()); -hTableDesc.setValue(IRealizationConstants.HTableCreationTime, String.valueOf(System.currentTimeMillis())); +TableDescriptorBuilder descBuilder = TableDescriptorBuilder.newBuilder(tableName); +descBuilder.setCompactionEnabled(false); +descBuilder.setValue(TableDescriptorBuilder.SPLIT_POLICY, DisabledRegionSplitPolicy.class.getName()); +descBuilder.setValue(IRealizationConstants.HTableTag, kylinConfig.getMetadataUrlPrefix()); +descBuilder.setValue(IRealizationConstants.HTableCreationTime, String.valueOf(System.currentTimeMillis())); String commitInfo = KylinVersion.getGitCommitInfo(); if (!StringUtils.isEmpty(commitInfo)) { -hTableDesc.setValue(IRealizationConstants.HTableGitTag, commitInfo); +descBuilder.setValue(IRealizationConstants.HTableGitTag, commitInfo); } -HColumnDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, false); -hTableDesc.addFamily(cf); +ColumnFamilyDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, false); +descBuilder.modifyColumnFamily(cf); try { if (shardNum > 1) { -admin.createTable(hTableDesc, getSplitsByShardNum(shardNum)); +admin.createTable(descBuilder.build(), getSplitsByShardNum(shardNum)); } else { -admin.createTable(hTableDesc); +admin.createTable(descBuilder.build()); } } finally { IOUtils.closeQuietly(admin); diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java index f006adb..9e3703c 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java @@ -23,11 +23,12 @@ import java.io.IOException; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder;
[kylin] 03/06: Update scripts for HDP 3.0
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 7eeed17a61a643132f85a92e49c220c2d732ea65 Author: shaofengshi AuthorDate: Tue Aug 28 11:47:03 2018 +0800 Update scripts for HDP 3.0 --- build/bin/find-hive-dependency.sh | 2 +- build/bin/find-spark-dependency.sh | 2 +- build/script/download-tomcat.sh| 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/build/bin/find-hive-dependency.sh b/build/bin/find-hive-dependency.sh index c647af1..02bad47 100755 --- a/build/bin/find-hive-dependency.sh +++ b/build/bin/find-hive-dependency.sh @@ -150,7 +150,7 @@ then else hive_lib_dir="$HIVE_LIB" fi -hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*calcite*' ! -name '*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'` +hive_lib=`find -L ${hive_lib_dir} -name '*.jar' ! -name '*druid*' ! -name '*slf4j*' ! -name '*avatica*' ! -name '*calcite*' ! -name '*jackson-datatype-joda*' ! -name '*derby*' -printf '%p:' | sed 's/:$//'` validateDirectory ${hive_conf_path} checkFileExist ${hive_lib} diff --git a/build/bin/find-spark-dependency.sh b/build/bin/find-spark-dependency.sh index 3565bfc..7179944 100755 --- a/build/bin/find-spark-dependency.sh +++ b/build/bin/find-spark-dependency.sh @@ -35,7 +35,7 @@ then spark_home=$KYLIN_HOME/spark fi -spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*doc*' ! -name '*test*' ! -name '*sources*' ''-printf '%p:' | sed 's/:$//'` +spark_dependency=`find -L $spark_home/jars -name '*.jar' ! -name '*slf4j*' ! -name '*calcite*' ! -name '*doc*' ! -name '*test*' ! -name '*sources*' ''-printf '%p:' | sed 's/:$//'` if [ -z "$spark_dependency" ] then quit "spark jars not found" diff --git a/build/script/download-tomcat.sh b/build/script/download-tomcat.sh index beda172..eefc6ba 100755 --- a/build/script/download-tomcat.sh +++ b/build/script/download-tomcat.sh @@ -27,13 +27,13 @@ if [[ `uname -a` =~ "Darwin" ]]; then alias md5cmd="md5 -q" fi -tomcat_pkg_version="7.0.85" -tomcat_pkg_md5="1ad4760080164bb08e924c330703c94d" +tomcat_pkg_version="8.5.33" +tomcat_pkg_md5="79a5ce0bb2c1503a8e46bf00c6ed9181" if [ ! -f "build/apache-tomcat-${tomcat_pkg_version}.tar.gz" ] then echo "no binary file found" -wget --directory-prefix=build/ http://archive.apache.org/dist/tomcat/tomcat-7/v${tomcat_pkg_version}/bin/apache-tomcat-${tomcat_pkg_version}.tar.gz || echo "Download tomcat failed" +wget --directory-prefix=build/ http://archive.apache.org/dist/tomcat/tomcat-8/v${tomcat_pkg_version}/bin/apache-tomcat-${tomcat_pkg_version}.tar.gz || echo "Download tomcat failed" else if [ `md5cmd build/apache-tomcat-${tomcat_pkg_version}.tar.gz | awk '{print $1}'` != "${tomcat_pkg_md5}" ] then
[kylin] 06/06: KYLIN-2565 Resolve conflict
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 766a472bc294e06ac2f13c5437bda349ff3aa480 Author: shaofengshi AuthorDate: Mon Sep 10 22:44:58 2018 +0800 KYLIN-2565 Resolve conflict --- pom.xml| 786 + .../org/apache/kylin/rest/security/MockHTable.java | 745 --- .../hbase/cube/v2/CubeHBaseEndpointRPC.java| 26 +- .../kylin/storage/hbase/steps/CubeHFileJob.java| 6 +- .../storage/hbase/steps/HFileOutputFormat3.java| 673 -- .../storage/hbase/steps/CubeHFileMapperTest.java | 24 +- 6 files changed, 58 insertions(+), 2202 deletions(-) diff --git a/pom.xml b/pom.xml index 797188d..c253753 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,11 @@ 2.1.2 4.0.0 + +5.1.8 + +2.11.0 1.10 @@ -127,6 +131,8 @@ 1.0.2.RELEASE 2.6.6 1.8.9 + +2.3 jacoco @@ -558,6 +564,13 @@ ${hbase-hadoop2.version} test + + +mysql +mysql-connector-java +${mysql-connector.version} +provided + org.apache.hive @@ -918,764 +931,27 @@ ${tomcat.version} provided + + +org.scala-lang +scala-library +${scala.version} + + + +org.scala-lang +scala-compiler +${scala.version} + + + +org.scala-lang +scala-reflect +${scala.version} + ->>> KYLIN-2565, upgrade to Hadoop3.0 - - - -org.apache.kylin -atopcalcite -${project.version} - - -org.apache.kylin -kylin-core-common -${project.version} - - -org.apache.kylin -kylin-core-metrics -${project.version} - - -org.apache.kylin -kylin-metrics-reporter-hive -${project.version} - - -org.apache.kylin -kylin-metrics-reporter-kafka -${project.version} - - -org.apache.kylin -kylin-core-metadata -${project.version} - - -org.apache.kylin -kylin-core-dictionary -${project.version} - - -org.apache.kylin -kylin-core-cube -${project.version} - - -org.apache.kylin -kylin-core-job -${project.version} - - -org.apache.kylin -kylin-core-storage -${project.version} - - -org.apache.kylin -kylin-engine-mr -${project.version} - - -org.apache.kylin -kylin-engine-spark -${project.version} - - -org.apache.kylin -kylin-source-hive -${project.version} - - -org.apache.kylin -kylin-source-kafka -${project.version} - - -org.apache.kylin -kylin-storage-hbase -${project.version} - - -org.apache.kylin -kylin-query -${project.version} - - -org.apache.kylin -kylin-server-base -${project.version} - - -org.apache.kylin -kylin-server -${project.version} - - -org.apache.kylin -kylin-jdbc -${project.version} - - -org.apache.kylin -kylin-assembly -${project.version} - - -org.apache.kylin -kylin-tool -${project.version} - - -org.apache.kylin -kylin-tool-assembly -${project.version} - - -org.apache.kylin -kylin-it -${project.version} - - -org.apache.kylin -kylin-core-common -${project.version} -test-jar - - -org.apache.kylin -kylin-core-storage -${project.version} -test-jar - - -org.apache.kylin -kylin-storage-hbase -${project.version} -test-jar - - -org.apache.kylin -kylin-server-base -${project.version} -test-jar - - -org.apache.kylin -kylin-core-job -${project.version} -test-jar - - -org.apache.kylin -kylin-core-cube -${project.version} -test-jar - - -org.apache.kylin -
[kylin] 02/06: KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit a09485037906d8105cc38d28b898c85d3c4b7920 Author: shaofengshi AuthorDate: Tue Mar 20 09:20:49 2018 +0800 KYLIN-2565 upgrade to hadoop 3.0 hbase 2.0, pass UT --- .../org/apache/kylin/common/util/StringUtil.java | 3 + .../apache/kylin/common/util/ClassUtilTest.java| 4 +- .../apache/kylin/engine/spark/SparkCountDemo.java | 80 --- .../org/apache/kylin/engine/spark/SparkCubing.java | 591 - .../storage/hbase/ITAclTableMigrationToolTest.java | 9 +- pom.xml| 30 +- server-base/pom.xml| 5 + .../kylin/rest/job/StorageCleanJobHbaseUtil.java | 29 +- .../org/apache/kylin/rest/security/MockHTable.java | 25 +- .../org/apache/kylin/rest/service/JobService.java | 22 +- .../apache/kylin/rest/service/ProjectService.java | 4 +- .../rest/job/StorageCleanJobHbaseUtilTest.java | 9 +- server/pom.xml | 16 +- .../kylin/rest/metrics/QueryMetricsTest.java | 2 + .../apache/kylin/source/hive/CLIHiveClient.java| 12 +- .../org/apache/kylin/source/hive/DBConnConf.java | 9 - storage-hbase/pom.xml | 5 + .../kylin/storage/hbase/HBaseConnection.java | 8 +- .../hbase/cube/v2/CubeHBaseEndpointRPC.java| 259 - .../hbase/cube/v2/ExpectedSizeIterator.java| 34 +- .../v2/coprocessor/endpoint/CubeVisitService.java | 2 +- .../kylin/storage/hbase/steps/CreateHTableJob.java | 18 +- .../kylin/storage/hbase/steps/CubeHFileJob.java| 15 +- .../kylin/storage/hbase/util/PingHBaseCLI.java | 3 +- tool/pom.xml | 10 + .../org/apache/kylin/tool/CubeMigrationCLI.java| 12 +- .../org/apache/kylin/tool/HBaseUsageExtractor.java | 4 +- 27 files changed, 249 insertions(+), 971 deletions(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java b/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java index 0b94d9c..7446e22 100644 --- a/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java +++ b/core-common/src/main/java/org/apache/kylin/common/util/StringUtil.java @@ -188,4 +188,7 @@ public class StringUtil { return a == null ? b == null : a.equals(b); } +public static boolean isEmpty(String str) { +return str == null || str.length() == 0; +} } diff --git a/core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java b/core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java index 75fa574..1ea0ae5 100644 --- a/core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java +++ b/core-common/src/test/java/org/apache/kylin/common/util/ClassUtilTest.java @@ -26,7 +26,9 @@ public class ClassUtilTest { @Test public void testFindContainingJar() throws ClassNotFoundException { Assert.assertTrue(ClassUtil.findContainingJar(Class.forName("org.apache.commons.beanutils.BeanUtils")).contains("commons-beanutils")); - Assert.assertTrue(ClassUtil.findContainingJar(Class.forName("org.apache.commons.beanutils.BeanUtils"), "core").contains("commons-beanutils-core")); + +// fixme broken now + //Assert.assertTrue(ClassUtil.findContainingJar(Class.forName("org.apache.commons.beanutils.BeanUtils"), "core").contains("commons-beanutils-core")); } } diff --git a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCountDemo.java b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCountDemo.java deleted file mode 100644 index a079a57..000 --- a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkCountDemo.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ -package org.apache.kylin.engine.spark; - -import org.apache.commons.cli.Option; -import org.apache.commons.cli.OptionBuilder; -import org.apache.commons.cli.Options; -import
[kylin] 01/06: KYLIN-2565, upgrade to Hadoop3.0
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 616bb38b41880136f3b649730ba910fa74a64216 Author: Cheng Wang AuthorDate: Tue Apr 25 18:45:57 2017 +0800 KYLIN-2565, upgrade to Hadoop3.0 --- .../mr/common/DefaultSslProtocolSocketFactory.java | 150 --- .../kylin/engine/mr/common/HadoopStatusGetter.java | 280 + .../apache/kylin/engine/spark/SparkCountDemo.java | 80 ++ .../org/apache/kylin/engine/spark/SparkCubing.java | 591 +++ pom.xml| 1081 server-base/pom.xml|5 + .../org/apache/kylin/rest/security/MockHTable.java | 115 ++- .../kylin/storage/hbase/HBaseConnection.java |5 + .../storage/hbase/cube/v2/CubeHBaseScanRPC.java| 15 +- .../v2/coprocessor/endpoint/CubeVisitService.java |4 +- .../kylin/storage/hbase/steps/CubeHFileJob.java| 12 + .../storage/hbase/steps/HBaseCuboidWriter.java | 133 +++ .../kylin/storage/hbase/util/CubeMigrationCLI.java |2 +- .../storage/hbase/util/DeployCoprocessorCLI.java |3 +- .../storage/hbase/util/ExtendCubeToHybridCLI.java |2 +- .../hbase/util/GridTableHBaseBenchmark.java|2 +- .../kylin/storage/hbase/util/PingHBaseCLI.java |3 +- .../storage/hbase/steps/CubeHFileMapperTest.java | 11 + .../kylin/storage/hbase/steps/TestHbaseClient.java | 14 +- .../org/apache/kylin/tool/CubeMigrationCLI.java| 14 +- .../apache/kylin/tool/CubeMigrationCheckCLI.java | 17 +- .../apache/kylin/tool/ExtendCubeToHybridCLI.java |2 +- .../org/apache/kylin/tool/StorageCleanupJob.java |1 + 23 files changed, 2123 insertions(+), 419 deletions(-) diff --git a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java b/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java deleted file mode 100644 index d66e4eb..000 --- a/engine-mr/src/main/java/org/apache/kylin/engine/mr/common/DefaultSslProtocolSocketFactory.java +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -*/ - -package org.apache.kylin.engine.mr.common; - -import java.io.IOException; -import java.net.InetAddress; -import java.net.Socket; -import java.net.UnknownHostException; - -import javax.net.ssl.SSLContext; -import javax.net.ssl.TrustManager; - -import org.apache.commons.httpclient.ConnectTimeoutException; -import org.apache.commons.httpclient.HttpClientError; -import org.apache.commons.httpclient.params.HttpConnectionParams; -import org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory; -import org.apache.commons.httpclient.protocol.SecureProtocolSocketFactory; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * @author xduo - * - */ -public class DefaultSslProtocolSocketFactory implements SecureProtocolSocketFactory { -/** Log object for this class. */ -private static Logger logger = LoggerFactory.getLogger(DefaultSslProtocolSocketFactory.class); -private SSLContext sslcontext = null; - -/** - * Constructor for DefaultSslProtocolSocketFactory. - */ -public DefaultSslProtocolSocketFactory() { -super(); -} - -/** - * @see SecureProtocolSocketFactory#createSocket(java.lang.String,int,java.net.InetAddress,int) - */ -public Socket createSocket(String host, int port, InetAddress clientHost, int clientPort) throws IOException, UnknownHostException { -return getSSLContext().getSocketFactory().createSocket(host, port, clientHost, clientPort); -} - -/** - * Attempts to get a new socket connection to the given host within the - * given time limit. - * - * - * To circumvent the limitations of older JREs that do not support connect - * timeout a controller thread is executed. The controller thread attempts - * to create a new socket within the given limit of time. If socket - * constructor does not return until the timeout expires, the controller - * terminates and
[kylin] 05/06: KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit cd0f7cbc9473c3b0bfabc076154d85f679c1a41b Author: Lijun Cao <> AuthorDate: Tue Sep 4 09:56:36 2018 +0800 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. Signed-off-by: shaofengshi --- .../hbase/lookup/LookupTableToHFileJob.java| 24 +-- .../kylin/storage/hbase/steps/CubeHTableUtil.java | 46 +++--- .../storage/hbase/util/DeployCoprocessorCLI.java | 46 +++--- 3 files changed, 60 insertions(+), 56 deletions(-) diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java index 9146fc4..a90f87e 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java @@ -27,12 +27,12 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.HTable; +import org.apache.hadoop.hbase.client.TableDescriptorBuilder; import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2; import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy; import org.apache.hadoop.hdfs.DFSConfigKeys; @@ -208,24 +208,24 @@ public class LookupTableToHFileJob extends AbstractHadoopJob { String hTableName = genHTableName(kylinConfig, admin, sourceTableName); TableName tableName = TableName.valueOf(hTableName); -HTableDescriptor hTableDesc = new HTableDescriptor(tableName); -hTableDesc.setCompactionEnabled(false); -hTableDesc.setValue(HTableDescriptor.SPLIT_POLICY, DisabledRegionSplitPolicy.class.getName()); -hTableDesc.setValue(IRealizationConstants.HTableTag, kylinConfig.getMetadataUrlPrefix()); -hTableDesc.setValue(IRealizationConstants.HTableCreationTime, String.valueOf(System.currentTimeMillis())); +TableDescriptorBuilder descBuilder = TableDescriptorBuilder.newBuilder(tableName); +descBuilder.setCompactionEnabled(false); +descBuilder.setValue(TableDescriptorBuilder.SPLIT_POLICY, DisabledRegionSplitPolicy.class.getName()); +descBuilder.setValue(IRealizationConstants.HTableTag, kylinConfig.getMetadataUrlPrefix()); +descBuilder.setValue(IRealizationConstants.HTableCreationTime, String.valueOf(System.currentTimeMillis())); String commitInfo = KylinVersion.getGitCommitInfo(); if (!StringUtils.isEmpty(commitInfo)) { -hTableDesc.setValue(IRealizationConstants.HTableGitTag, commitInfo); +descBuilder.setValue(IRealizationConstants.HTableGitTag, commitInfo); } -HColumnDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, false); -hTableDesc.addFamily(cf); +ColumnFamilyDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, false); +descBuilder.modifyColumnFamily(cf); try { if (shardNum > 1) { -admin.createTable(hTableDesc, getSplitsByShardNum(shardNum)); +admin.createTable(descBuilder.build(), getSplitsByShardNum(shardNum)); } else { -admin.createTable(hTableDesc); +admin.createTable(descBuilder.build()); } } finally { IOUtils.closeQuietly(admin); diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java index d06c993..97f6262 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java @@ -24,11 +24,12 @@ import java.util.Locale; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder; import
[kylin] 04/06: KYLIN-3518 Fix Coprocessor NPE problem on hbase 2
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git commit 00e8bd7be00296533414e2a869b18ee855fa89da Author: Lijun Cao <> AuthorDate: Thu Aug 30 09:28:54 2018 +0800 KYLIN-3518 Fix Coprocessor NPE problem on hbase 2 --- build/deploy/server.xml | 2 +- build/script/elimate-jar-conflict.sh | 20 build/script/prepare.sh | 3 +++ .../v2/coprocessor/endpoint/CubeVisitService.java| 10 +- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/build/deploy/server.xml b/build/deploy/server.xml index 96f329b..920be25 100644 --- a/build/deploy/server.xml +++ b/build/deploy/server.xml @@ -26,7 +26,7 @@ - + diff --git a/build/script/elimate-jar-conflict.sh b/build/script/elimate-jar-conflict.sh new file mode 100644 index 000..d02a874 --- /dev/null +++ b/build/script/elimate-jar-conflict.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +current_dir=`pwd` +cd ${current_dir}/build/tomcat/webapps +unzip kylin.war && rm -f kylin.war +cd WEB-INF/lib +#remove slf4j-api-1.7.21.jar to solve slf4j conflict +rm -f slf4j-api-1.7.21.jar +mkdir modify_avatica_jar && mv avatica-1.10.0.jar modify_avatica_jar +cd modify_avatica_jar +#remove org/slf4j in avatica-1.10.0.jar and repackage it to solve slf4j conflict +unzip avatica-1.10.0.jar && rm -f avatica-1.10.0.jar +rm -rf org/slf4j && jar -cf avatica-1.10.0.jar ./ +rm -rf `ls | egrep -v avatica-1.10.0.jar` +mv avatica-1.10.0.jar .. +cd .. && rm -rf modify_avatica_jar +cd ${current_dir}/build/tomcat/webapps +#repackage kylin.war +jar -cf kylin.war ./ && rm -rf `ls | egrep -v kylin.war` +cd ${current_dir} \ No newline at end of file diff --git a/build/script/prepare.sh b/build/script/prepare.sh index deaf58d..be9dd9d 100755 --- a/build/script/prepare.sh +++ b/build/script/prepare.sh @@ -31,6 +31,9 @@ export version sh build/script/prepare-libs.sh || { exit 1; } cp server/target/kylin-server-${version}.war build/tomcat/webapps/kylin.war + +sh build/script/elimate-jar-conflict.sh + chmod 644 build/tomcat/webapps/kylin.war echo "add js css to war" diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java index ded3500..2beddc7 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v2/coprocessor/endpoint/CubeVisitService.java @@ -24,6 +24,7 @@ import java.lang.management.ManagementFactory; import java.net.InetAddress; import java.nio.BufferOverflowException; import java.nio.ByteBuffer; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -31,12 +32,11 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang.ArrayUtils; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; -import org.apache.hadoop.hbase.Coprocessor; import org.apache.hadoop.hbase.CoprocessorEnvironment; import org.apache.hadoop.hbase.DoNotRetryIOException; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.coprocessor.CoprocessorException; -import org.apache.hadoop.hbase.coprocessor.CoprocessorService; +import org.apache.hadoop.hbase.coprocessor.RegionCoprocessor; import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment; import org.apache.hadoop.hbase.regionserver.HRegion; import org.apache.hadoop.hbase.regionserver.RegionScanner; @@ -78,7 +78,7 @@ import com.sun.management.OperatingSystemMXBean; @SuppressWarnings("unused") //used in hbase endpoint -public class CubeVisitService extends CubeVisitProtos.CubeVisitService implements Coprocessor, CoprocessorService { +public class CubeVisitService extends CubeVisitProtos.CubeVisitService implements RegionCoprocessor { private static final Logger logger = LoggerFactory.getLogger(CubeVisitService.class); //TODO limit memory footprint @@ -448,7 +448,7 @@ public class CubeVisitService extends CubeVisitProtos.CubeVisitService implement } @Override -public Service getService() { -return this; +public Iterable getServices() { +return Collections.singleton(this); } }
[kylin] branch master-hadoop3.1 updated (978bb37 -> 766a472)
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a change to branch master-hadoop3.1 in repository https://gitbox.apache.org/repos/asf/kylin.git. discard 978bb37 KYLIN-2565, upgrade to Hadoop3.1 add ec8186e KYLIN-3300 Upgrade jackson-databind add 3282faf KYLIN-3301 Upgrade opensaml add 0029d8a KYLIN-3278 Revert "KYLIN-3084, fix issue by using distribute by" add 6cc59cf KYLIN-3304 temporarily disable CacheServiceTest add 236e6f5 KYLIN-3306: Fix the rarely happened unit test exception of generic algorithm add 24042e2 KYLIN-3270: add integration test for optimize job add cfb21d7 KYLIN-3292 The update button should be disabled with none key and value in setting config dialog (#116) add a7a0baa KYLIN-3288 specify mapreduce.job.queuename when submit sqoop job add 03316e2 KYLIN-3314 refactor code for cube planner algorithm add 8350de4 KYLIN-3293, fix FixedLenHexDimEnc that return a wrong code length leads to cut bytes error. add 565a442 KYLIN-3320 fix CubeStatsReader cannot print stats properly for some cube add aff6f42 minor, add main func for EncryptUtil add 2e49128 minor, fix query handling right outer join case add a6bfc9d KYLIN-3311 refactor Resource.checkAndPutResourceImpl() to throw WriteConflictException add febabc4 minor, add null case. add cfe84a1 KYLIN-3277 Kylin should override hiveconf settings when connecting to hive using jdbc add 417c4b6 KYLIN-3277 Code review add 343d63d KYLIN-3324 fix NegativeArraySizeException in CreateDictionaryJob$2.getDictionary() add 37d3cd9 minor, add test util SetAndUnsetSystemProp add 709e564 KYLIN-3315 allow each project to set its own source add 5552164 KYLIN-3315 allow each project to set its own source add be3588b KYLIN-3296 Fix the split rowkey problem add 1e884f2 Revert "KYLIN-3296 Fix the split rowkey problem" add 2cda6c3 KYLIN-3327 Upgrade surefire version to 2.21.0 add 7540cbd KYLIN-3339, decoupling SQL keywords set with specify implementation. add 5ab78cb KYLIN-3343 support RDBMS on GUI (#131) add 6fb75b6 KYLIN-3331 Add script check-hive-usability.sh to avoid script hangs add 9509989 KYLIN-3328 Upgrade the metadata of sample cube to latest add 9d88e47 minor, fix exception swallow in CubeDesc.init() add 71397fd KYLIN-3289 Refactor the storage garbage clean up code add a9dcad1 KYLIN-3337 Use an auto-closeable style API to replace KylinConfig.setKylinConfigThreadLocal() add 143cfdc Minor, add config for enable and disable auto merge add b1c8944 KYLIN-3340, enhance hql check add 7e8d5a5 Minor, remove TarGZUtil.java add b9bcc92 CubeHFileJob should use currentHBaseConfiguration but not new create hbase configuration add 7217d7f KYLIN-3294 Remove HBaseMROutput.java, RangeKeyDistributionJob.java and other sunset classes add 2ca5b98 KYLIN-3369 reduce data size from kafka add f2382ea KYLIN-3369 code refine add 5611760 KYLIN-3368 Move Spark cubing metadata dump to job folder add 026db17 KYLIN-3367 add the compatibility for new version of hbase add 877cab0 minor, make the metrics parameter name consistent add e20e244 KYLIN-3345 Use Apache Parent POM 19 add faf7064 KYLIN-3363 fix wrong partition condition appended in JDBC Source add 3681089 KYLIN-3380 JDBC source - add a configuration file for sqoop add 6820f8d KYLIN-3315 fix table init add bbb71a8 KYLIN-3348 fix 'missing LastBuildJobID' error add 1a1c8a9 KYLIN-3352 better filter transform for better seg pruning add c027831 KYLIN-3354 escape double-quoted defaultCatalog keyword add 0efcdca KYLIN-3315 fix table init to avoid deadlock on project manager add e08c106 Minor, fix wrong method name of cube's input record size add 398401f Minor, add member "displayCubeName" for job instance add 2b1e9f4 Minor, make query response with "Unknown error" if exception without message occurs add 999f1f0 KYLIN-3250 Upgrade jetty version to 9.3.22.v20171030 add 4c67905 KYLIN-3372 upgrade jackson databind version to 2.9.5 add d1c68f6 KYLIN-3336 add 8325ae9 KYLIN-3295, clean unused class:SQLDigestUtil add f0f588f KYLIN-3373 Some improvements for lookup table - UI part change add 179eddb KYLIN-3374 Some improvements for lookup table - metadata change add 777f8fa KYLIN-3375 Some improvements for lookup table - build change add 5a96f8b KYLIN-3376 Some improvements for lookup table - query change add b7d2cb7 KYLIN-3377 Some improvements for lookup table - snapshot management add 71d416a KYLIN-3373 Some improvements for lookup table - UI part change - Bug fix for add snapshot desc add 20c66d8 KYLIN-3375 Some improvements for lookup table - build change - Fix issue when latest ext snapshot exist add 18316ec
svn commit: r1840508 - in /kylin/site: cn/download/index.html download/index.html feed.xml
Author: lidong Date: Tue Sep 11 00:20:02 2018 New Revision: 1840508 URL: http://svn.apache.org/viewvc?rev=1840508=rev Log: update downloage page KEYS link Modified: kylin/site/cn/download/index.html kylin/site/download/index.html kylin/site/feed.xml Modified: kylin/site/cn/download/index.html URL: http://svn.apache.org/viewvc/kylin/site/cn/download/index.html?rev=1840508=1840507=1840508=diff == --- kylin/site/cn/download/index.html (original) +++ kylin/site/cn/download/index.html Tue Sep 11 00:20:02 2018 @@ -172,7 +172,7 @@ var _hmt = _hmt || []; Apache Kylin⢠ç¸å ³ä¸è½½ -æ¨å¯ä»¥æç §è¿äºhttps://www.apache.org/info/verification.html;>æ¥éª¤ 并使ç¨è¿äºhttps://kylin.apache.org/KEYS;>KEYSæ¥éªè¯ä¸è½½æ件çæææ§. +æ¨å¯ä»¥æç §è¿äºhttps://www.apache.org/info/verification.html;>æ¥éª¤ 并使ç¨è¿äºhttps://www.apache.org/dist/kylin/KEYS;>KEYSæ¥éªè¯ä¸è½½æ件çæææ§. v2.4.1 Modified: kylin/site/download/index.html URL: http://svn.apache.org/viewvc/kylin/site/download/index.html?rev=1840508=1840507=1840508=diff == --- kylin/site/download/index.html (original) +++ kylin/site/download/index.html Tue Sep 11 00:20:02 2018 @@ -5605,7 +5605,7 @@ var _hmt = _hmt || []; Apache Kylin⢠Download -You can verify the download by following these https://www.apache.org/info/verification.html;>procedures and using these https://kylin.apache.org/KEYS;>KEYS. +You can verify the download by following these https://www.apache.org/info/verification.html;>procedures and using these https://www.apache.org/dist/kylin/KEYS;>KEYS. v2.4.1 Modified: kylin/site/feed.xml URL: http://svn.apache.org/viewvc/kylin/site/feed.xml?rev=1840508=1840507=1840508=diff == --- kylin/site/feed.xml (original) +++ kylin/site/feed.xml Tue Sep 11 00:20:02 2018 @@ -19,8 +19,8 @@ Apache Kylin Home http://kylin.apache.org/ http://kylin.apache.org/feed.xml; rel="self" type="application/rss+xml"/> -Mon, 10 Sep 2018 06:59:24 -0700 -Mon, 10 Sep 2018 06:59:24 -0700 +Mon, 10 Sep 2018 17:10:54 -0700 +Mon, 10 Sep 2018 17:10:54 -0700 Jekyll v2.5.3
[kylin] branch document updated: update downloage page KEYS link
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch document in repository https://gitbox.apache.org/repos/asf/kylin.git The following commit(s) were added to refs/heads/document by this push: new 0884840 update downloage page KEYS link 0884840 is described below commit 088484008fb4e5a19618150bd567058c70c36fc0 Author: shaofengshi AuthorDate: Tue Sep 11 08:09:10 2018 +0800 update downloage page KEYS link --- website/download/index.cn.md | 2 +- website/download/index.md| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/website/download/index.cn.md b/website/download/index.cn.md index 134b64e..d7e88f9 100644 --- a/website/download/index.cn.md +++ b/website/download/index.cn.md @@ -3,7 +3,7 @@ layout: download-cn title: 下载 --- -您可以按照这些[步骤](https://www.apache.org/info/verification.html) 并使用这些[KEYS](https://kylin.apache.org/KEYS)来验证下载文件的有效性. +您可以按照这些[步骤](https://www.apache.org/info/verification.html) 并使用这些[KEYS](https://www.apache.org/dist/kylin/KEYS)来验证下载文件的有效性. v2.4.1 - This is a bug fix release after 2.4.0, with 22 bug fixes and enhancement. For the detail list please check release notes. diff --git a/website/download/index.md b/website/download/index.md index 77c423e..7774e91 100644 --- a/website/download/index.md +++ b/website/download/index.md @@ -4,7 +4,7 @@ title: Download permalink: /download/index.html --- -You can verify the download by following these [procedures](https://www.apache.org/info/verification.html) and using these [KEYS](https://kylin.apache.org/KEYS). +You can verify the download by following these [procedures](https://www.apache.org/info/verification.html) and using these [KEYS](https://www.apache.org/dist/kylin/KEYS). v2.4.1
svn commit: r1840468 - in /kylin/site: KEYS assets/images/ApacheKylin_Logo_Adjust.png community/index.html feed.xml
Author: lidong Date: Mon Sep 10 14:09:03 2018 New Revision: 1840468 URL: http://svn.apache.org/viewvc?rev=1840468=rev Log: KYLIN-3548 Typo on Community page Modified: kylin/site/KEYS kylin/site/assets/images/ApacheKylin_Logo_Adjust.png kylin/site/community/index.html kylin/site/feed.xml Modified: kylin/site/KEYS URL: http://svn.apache.org/viewvc/kylin/site/KEYS?rev=1840468=1840467=1840468=diff == --- kylin/site/KEYS (original) +++ kylin/site/KEYS Mon Sep 10 14:09:03 2018 @@ -361,3 +361,120 @@ gufAx6TUUQp+JAjVbPom8UkOo2ypuG9w2Hrz4tcA Ygg7DIuR/Ab6IgbzOnw= =4WOu -END PGP PUBLIC KEY BLOCK- +pub rsa4096 2018-06-20 [SC] [ææè³ï¼2020-06-19] + 78126E144D6D0D32CA64322AFA888B1EBC3A24A6 +uid [ ç»å¯¹ ] kangkaisen (apache) +sig 3FA888B1EBC3A24A6 2018-06-20 kangkaisen (apache) +sub rsa4096 2018-06-20 [E] [ææè³ï¼2020-06-19] +sig FA888B1EBC3A24A6 2018-06-20 kangkaisen (apache) + +-BEGIN PGP PUBLIC KEY BLOCK- + +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 +OdzEAbRO1ZpZZ82/yhRecYqxOw== +=6AF1 +-END PGP PUBLIC KEY BLOCK- +pub rsa4096 2018-08-29 [SC] + 65EFB22583BD2285856207551E54F20594906A1C +uid [ultimate] nju_yaho +sig 31E54F20594906A1C 2018-08-29 nju_yaho +sub rsa4096 2018-08-29 [E] +sig 1E54F20594906A1C 2018-08-29 nju_yaho + +-BEGIN PGP PUBLIC KEY BLOCK- + +mQINBFuGXB8BEADQs1Ox9gn9w9fJ2GhVCg9fx4qCRCuhmeIUd2psPhIXKuqXt8h2 +act9boQvulPR1Ke7w1ATDdciHPbFoX4S/WxaotscP9VPrXiowVvL/zAYf+6Y6RS8 +9kuEoqQC7G2diZAit40TOFicZy5tXatsc29mwLyhY/HlpMNsGIglQaYkX31738zn +40dK0iqH4J3TD/8bqdkmGf52cpXN7Wl2l26qro1EdiDW/SytdtrAC+rZFrGEtgUZ +hh50xCc1CG18GJYAia3F5L8ChRLifdRmTa8OmpbgGOJsK0loxgHAV8vu1d0H70Ud +Mya7cHztcM+gujGq9nBq44IelwFYj/2mebls9LCrLN4ktKLJTS0bidfl+OgMeqPT
svn commit: r29243 - /release/kylin/KEYS
Author: nju_yaho Date: Mon Sep 10 12:03:08 2018 New Revision: 29243 Log: checkin KEYS file Added: release/kylin/KEYS Added: release/kylin/KEYS == --- release/kylin/KEYS (added) +++ release/kylin/KEYS Mon Sep 10 12:03:08 2018 @@ -0,0 +1,480 @@ +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 and append it to this file. + (pgpk -ll && pgpk -xa ) >> this file. + (gpg --list-sigs + && gpg --armor --export ) >> this file. + +--- + +pub 4096R/027DC364 2015-04-10 +uid Luke Han +sig 3027DC364 2015-04-10 Luke Han +sub 4096R/19BCFD87 2015-04-10 +sig 027DC364 2015-04-10 Luke Han + +-BEGIN PGP PUBLIC KEY BLOCK- +Version: GnuPG v1 + +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 +=YeBe +-END PGP PUBLIC KEY BLOCK- +pub 4096R/80181F78 2016-02-08 +uid Li Yang +sig 380181F78 2016-02-08 Li Yang +sub 4096R/31F92352 2016-02-08 +sig 80181F78 2016-02-08 Li Yang + +-BEGIN PGP PUBLIC KEY BLOCK- +Version: GnuPG v1 + +mQINBFa4kRoBEAC8VfF4w68DbWb/aeFV9P97xbfd0/D7rG3/n60t4vFE7WaPQNhK +iNq9Ib6eKLH3VU90lSkOBnStL0myvZRSZ6n7FNFO6XYKNKTcESIAvIba7WwdkJsH +HBda/OcHoi2Z2PieoTws3KgNyj34+XWDssJjRUNe8R4TrK7E0D8DGIRK832BX4te +38b0vKCK0Vg6MNMRPjWR2FguhBDPOGV45W3+MnwHJEhfWqbSHNwMpsLAgB37xNAp +9iR/jJI4poZqJpe8u+d4zKIpjyIQsCnanM6U032PJz2TTCwsayz5vZFz0Pswy7wz +JgvLoAzfJf8C4tU7KrWStjucxnum7DImQXEy/Bv7QeGPBYNkmipPhO4WWDyJuHUg +sx4e+bitBGqyk7xx6UIF/ybE5yKRuEGQkBbP27zbBXZJHBcOW1ukbVSBK+ogwFtG +2TZHTrDNDOUPiL1sUyOASekPisEh4kZ6Xvv0Eeb7zTP0tkklVSpReWzoU4beWDUJ
[kylin] branch document updated: KYLIN-3548 Typo on Community page
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch document in repository https://gitbox.apache.org/repos/asf/kylin.git The following commit(s) were added to refs/heads/document by this push: new 94927aa KYLIN-3548 Typo on Community page 94927aa is described below commit 94927aa9a74486aa3a5b83ca417bc12bcd6ff646 Author: shaofengshi AuthorDate: Mon Sep 10 18:41:37 2018 +0800 KYLIN-3548 Typo on Community page --- website/KEYS | 117 + website/community/index.md | 2 +- 2 files changed, 118 insertions(+), 1 deletion(-) diff --git a/website/KEYS b/website/KEYS index c3539ca..8c0fa0b 100644 --- a/website/KEYS +++ b/website/KEYS @@ -361,3 +361,120 @@ gufAx6TUUQp+JAjVbPom8UkOo2ypuG9w2Hrz4tcAp1DpCkv6Pv4dbHAhaPn3qs8D Ygg7DIuR/Ab6IgbzOnw= =4WOu -END PGP PUBLIC KEY BLOCK- +pub rsa4096 2018-06-20 [SC] [有效至:2020-06-19] + 78126E144D6D0D32CA64322AFA888B1EBC3A24A6 +uid [ 绝对 ] kangkaisen (apache) +sig 3FA888B1EBC3A24A6 2018-06-20 kangkaisen (apache) +sub rsa4096 2018-06-20 [E] [有效至:2020-06-19] +sig FA888B1EBC3A24A6 2018-06-20 kangkaisen (apache) + +-BEGIN PGP PUBLIC KEY BLOCK- + +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 +OdzEAbRO1ZpZZ82/yhRecYqxOw== +=6AF1 +-END PGP PUBLIC KEY BLOCK- +pub rsa4096 2018-08-29 [SC] + 65EFB22583BD2285856207551E54F20594906A1C +uid [ultimate] nju_yaho +sig 31E54F20594906A1C 2018-08-29 nju_yaho +sub rsa4096 2018-08-29 [E] +sig 1E54F20594906A1C 2018-08-29 nju_yaho + +-BEGIN PGP PUBLIC KEY BLOCK- + +mQINBFuGXB8BEADQs1Ox9gn9w9fJ2GhVCg9fx4qCRCuhmeIUd2psPhIXKuqXt8h2 +act9boQvulPR1Ke7w1ATDdciHPbFoX4S/WxaotscP9VPrXiowVvL/zAYf+6Y6RS8 +9kuEoqQC7G2diZAit40TOFicZy5tXatsc29mwLyhY/HlpMNsGIglQaYkX31738zn
[kylin] branch master-hadoop3.1-2.5.0 updated: KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable.
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master-hadoop3.1-2.5.0 in repository https://gitbox.apache.org/repos/asf/kylin.git The following commit(s) were added to refs/heads/master-hadoop3.1-2.5.0 by this push: new 9602688 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. 9602688 is described below commit 96026886774aff16f03e6d5424e9c0ccdfca1ca0 Author: Lijun Cao <> AuthorDate: Tue Sep 4 09:56:36 2018 +0800 KYLIN-3517 Upadate coprocessor on HBase2.0 is avaliable. Signed-off-by: shaofengshi --- .../hbase/lookup/LookupTableToHFileJob.java| 24 +-- .../kylin/storage/hbase/steps/CubeHTableUtil.java | 46 +++--- .../storage/hbase/util/DeployCoprocessorCLI.java | 46 +++--- 3 files changed, 60 insertions(+), 56 deletions(-) diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java index 054e146..2789401 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/lookup/LookupTableToHFileJob.java @@ -26,12 +26,12 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.fs.Path; import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptor; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.HTable; +import org.apache.hadoop.hbase.client.TableDescriptorBuilder; import org.apache.hadoop.hbase.mapreduce.HFileOutputFormat2; import org.apache.hadoop.hbase.regionserver.DisabledRegionSplitPolicy; import org.apache.hadoop.hdfs.DFSConfigKeys; @@ -207,24 +207,24 @@ public class LookupTableToHFileJob extends AbstractHadoopJob { String hTableName = genHTableName(kylinConfig, admin, sourceTableName); TableName tableName = TableName.valueOf(hTableName); -HTableDescriptor hTableDesc = new HTableDescriptor(tableName); -hTableDesc.setCompactionEnabled(false); -hTableDesc.setValue(HTableDescriptor.SPLIT_POLICY, DisabledRegionSplitPolicy.class.getName()); -hTableDesc.setValue(IRealizationConstants.HTableTag, kylinConfig.getMetadataUrlPrefix()); -hTableDesc.setValue(IRealizationConstants.HTableCreationTime, String.valueOf(System.currentTimeMillis())); +TableDescriptorBuilder descBuilder = TableDescriptorBuilder.newBuilder(tableName); +descBuilder.setCompactionEnabled(false); +descBuilder.setValue(TableDescriptorBuilder.SPLIT_POLICY, DisabledRegionSplitPolicy.class.getName()); +descBuilder.setValue(IRealizationConstants.HTableTag, kylinConfig.getMetadataUrlPrefix()); +descBuilder.setValue(IRealizationConstants.HTableCreationTime, String.valueOf(System.currentTimeMillis())); String commitInfo = KylinVersion.getGitCommitInfo(); if (!StringUtils.isEmpty(commitInfo)) { -hTableDesc.setValue(IRealizationConstants.HTableGitTag, commitInfo); +descBuilder.setValue(IRealizationConstants.HTableGitTag, commitInfo); } -HColumnDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, false); -hTableDesc.addFamily(cf); +ColumnFamilyDescriptor cf = CubeHTableUtil.createColumnFamily(kylinConfig, HBaseLookupRowEncoder.CF_STRING, false); +descBuilder.modifyColumnFamily(cf); try { if (shardNum > 1) { -admin.createTable(hTableDesc, getSplitsByShardNum(shardNum)); +admin.createTable(descBuilder.build(), getSplitsByShardNum(shardNum)); } else { -admin.createTable(hTableDesc); +admin.createTable(descBuilder.build()); } } finally { IOUtils.closeQuietly(admin); diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java index f006adb..9e3703c 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/steps/CubeHTableUtil.java @@ -23,11 +23,12 @@ import java.io.IOException; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.HColumnDescriptor; -import org.apache.hadoop.hbase.HTableDescriptor; import
[kylin] 01/04: KYLIN-3529 Show more error message
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kylin.git commit 37a4966db41c775dfc48cdd4a4a244f03a18a96c Author: chao long AuthorDate: Wed Sep 5 09:55:10 2018 +0800 KYLIN-3529 Show more error message --- .../src/main/java/org/apache/kylin/common/util/AbstractApplication.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java b/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java index ab1e691..7275e10 100644 --- a/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java +++ b/core-common/src/main/java/org/apache/kylin/common/util/AbstractApplication.java @@ -39,7 +39,7 @@ public abstract class AbstractApplication { optionsHelper.printUsage(this.getClass().getName(), getOptions()); throw new RuntimeException("error parsing args", e); } catch (Exception e) { -throw new RuntimeException("error execute " + this.getClass().getName(), e); +throw new RuntimeException("error execute " + this.getClass().getName() + ". Root cause: " + e.getMessage(), e); } } }
[kylin] 02/04: KYLIN-3534 Don't compress fact distinct output file
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kylin.git commit d164225e91fa59aa1dd06d2ddf64e6acc1035a3f Author: chao long AuthorDate: Wed Sep 5 09:55:44 2018 +0800 KYLIN-3534 Don't compress fact distinct output file --- .../main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java index d0ba5d5..632a169 100644 --- a/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java +++ b/engine-spark/src/main/java/org/apache/kylin/engine/spark/SparkFactDistinct.java @@ -209,19 +209,22 @@ public class SparkFactDistinct extends AbstractApplication implements Serializab NullWritable.class, LongWritable.class); FileOutputFormat.setOutputPath(job, new Path(outputPath)); +FileOutputFormat.setCompressOutput(job, false); // prevent to create zero-sized default output LazyOutputFormat.setOutputFormatClass(job, SequenceFileOutputFormat.class); + MultipleOutputsRDD multipleOutputsRDD = MultipleOutputsRDD.rddToMultipleOutputsRDD(outputRDD); multipleOutputsRDD.saveAsNewAPIHadoopDatasetWithMultipleOutputs(job.getConfiguration()); -logger.info("Map input records={}", recordRDD.count()); +long recordCount = recordRDD.count(); +logger.info("Map input records={}", recordCount); logger.info("HDFS Read: {} HDFS Write", bytesWritten.value()); Map counterMap = Maps.newHashMap(); -counterMap.put(ExecutableConstants.SOURCE_RECORDS_COUNT, String.valueOf(recordRDD.count())); +counterMap.put(ExecutableConstants.SOURCE_RECORDS_COUNT, String.valueOf(recordCount)); counterMap.put(ExecutableConstants.SOURCE_RECORDS_SIZE, String.valueOf(bytesWritten.value())); // save counter to hdfs
[kylin] 04/04: KYLIN-3539 Hybrid segment overlap check
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kylin.git commit bffaa8a26a2d93b3aa62326484bc31a8717a7c0b Author: chao long AuthorDate: Mon Sep 10 16:00:46 2018 +0800 KYLIN-3539 Hybrid segment overlap check --- .../org/apache/kylin/rest/job/HybridCubeCLI.java | 30 +- .../org/apache/kylin/tool/HybridCubeCLITest.java | 48 ++ 2 files changed, 68 insertions(+), 10 deletions(-) diff --git a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java index 303e000..443eba6 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java +++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; +import java.util.Collections; import java.util.List; import org.apache.commons.cli.Option; @@ -38,6 +39,8 @@ import org.apache.kylin.cube.CubeManager; import org.apache.kylin.cube.CubeSegment; import org.apache.kylin.metadata.model.DataModelDesc; import org.apache.kylin.metadata.model.DataModelManager; +import org.apache.kylin.metadata.model.SegmentRange; +import org.apache.kylin.metadata.model.Segments; import org.apache.kylin.metadata.project.ProjectManager; import org.apache.kylin.metadata.project.RealizationEntry; import org.apache.kylin.metadata.realization.RealizationType; @@ -46,6 +49,8 @@ import org.apache.kylin.storage.hybrid.HybridManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.collect.Lists; + /** * 1. Create new HybridCube * bin/kylin.sh org.apache.kylin.tool.HybridCubeCLI -action create -name hybrid_name -project project_name -model model_name -cubes cube1,cube2 @@ -202,23 +207,28 @@ public class HybridCubeCLI extends AbstractApplication { } private void checkSegmentOffset(List realizationEntries) { -long lastOffset = -1; +List segmentRanges = Lists.newArrayList(); + for (RealizationEntry entry : realizationEntries) { if (entry.getType() != RealizationType.CUBE) { throw new IllegalArgumentException("Wrong realization type: " + entry.getType() + ", only cube supported. "); } CubeInstance cubeInstance = cubeManager.getCube(entry.getRealization()); -CubeSegment segment = cubeInstance.getLastSegment(); -if (segment == null) -continue; -if (lastOffset == -1) { -lastOffset = (Long) segment.getSegRange().end.v; -} else { -if (lastOffset > (Long) segment.getSegRange().start.v) { -throw new IllegalArgumentException("Segments has overlap, could not hybrid. Last Segment End: " + lastOffset + ", Next Segment Start: " + segment.getSegRange().start.v); +Segments segments = cubeInstance.getSegments(); + +for (CubeSegment segment : segments) { +segmentRanges.add(segment.getSegRange()); +} +} + +if (segmentRanges.size() >= 2) { +Collections.sort(segmentRanges); + +for (int i = 0; i < segmentRanges.size() - 1; i++) { +if (segmentRanges.get(i).overlaps(segmentRanges.get(i + 1))) { +throw new IllegalArgumentException("Segments has overlap, could not hybrid. First Segment Range: [" + segmentRanges.get(i).start.v + "," + segmentRanges.get(i).end.v + "], Second Segment Range: [" + segmentRanges.get(i + 1).start.v + "," + segmentRanges.get(i + 1).end.v + "]"); } -lastOffset = (Long) segment.getSegRange().end.v; } } } diff --git a/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java b/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java index f4ed595..99b8319 100644 --- a/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java +++ b/tool/src/test/java/org/apache/kylin/tool/HybridCubeCLITest.java @@ -22,6 +22,9 @@ import java.io.IOException; import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.util.LocalFileMetadataTestCase; +import org.apache.kylin.cube.CubeInstance; +import org.apache.kylin.cube.CubeManager; +import org.apache.kylin.metadata.model.SegmentRange; import org.apache.kylin.metadata.project.ProjectManager; import org.apache.kylin.metadata.realization.RealizationType; import org.apache.kylin.storage.hybrid.HybridInstance; @@ -30,12 +33,17 @@ import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.FixMethodOrder; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; import org.junit.runners.MethodSorters;
[kylin] 03/04: KYLIN-3527 Hybrid allows 0,1 cube
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/kylin.git commit 5faddf6eb5ba7e8bb682e1ee6fded4a7e89a2d92 Author: chao long AuthorDate: Wed Sep 5 14:16:31 2018 +0800 KYLIN-3527 Hybrid allows 0,1 cube --- .../src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java| 4 1 file changed, 4 deletions(-) diff --git a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java index e332e1d..303e000 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java +++ b/server-base/src/main/java/org/apache/kylin/rest/job/HybridCubeCLI.java @@ -202,10 +202,6 @@ public class HybridCubeCLI extends AbstractApplication { } private void checkSegmentOffset(List realizationEntries) { -if (realizationEntries == null || realizationEntries.size() == 0) -throw new IllegalArgumentException("No realization found"); -if (realizationEntries.size() == 1) -throw new IllegalArgumentException("Hybrid needs at least 2 cubes"); long lastOffset = -1; for (RealizationEntry entry : realizationEntries) { if (entry.getType() != RealizationType.CUBE) {
[kylin] branch master updated (7a77141 -> bffaa8a)
This is an automated email from the ASF dual-hosted git repository. shaofengshi pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/kylin.git. from 7a77141 KYLIN-3258 No check for duplicate cube name when creating a hybrid cube new 37a4966 KYLIN-3529 Show more error message new d164225 KYLIN-3534 Don't compress fact distinct output file new 5faddf6 KYLIN-3527 Hybrid allows 0,1 cube new bffaa8a KYLIN-3539 Hybrid segment overlap check The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../kylin/common/util/AbstractApplication.java | 2 +- .../kylin/engine/spark/SparkFactDistinct.java | 7 +++- .../org/apache/kylin/rest/job/HybridCubeCLI.java | 34 --- .../org/apache/kylin/tool/HybridCubeCLITest.java | 48 ++ 4 files changed, 74 insertions(+), 17 deletions(-)