Added: kylin/site/cn_blog/2021/06/17/Why-did-Youzan-choose-Kylin4/index.html URL: http://svn.apache.org/viewvc/kylin/site/cn_blog/2021/06/17/Why-did-Youzan-choose-Kylin4/index.html?rev=1890886&view=auto ============================================================================== --- kylin/site/cn_blog/2021/06/17/Why-did-Youzan-choose-Kylin4/index.html (added) +++ kylin/site/cn_blog/2021/06/17/Why-did-Youzan-choose-Kylin4/index.html Fri Jun 18 02:57:25 2021 @@ -0,0 +1,9060 @@ +<!-- +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +--> +<!doctype html> +<html> + <!-- +* 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. +--> + +<head> + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <title>Apache Kylin | æèµä¸ºä»ä¹éæ© Kylin4</title> + <meta name="description" content="å¨ 2021å¹´5æ29æ¥ä¸¾åç QCon å ¨ç软件å¼åè 大ä¼ä¸ï¼æ¥èªæèµçæ°æ®åºç¡å¹³å°è´è´£äºº éçä¿ å¨å¤§æ°æ®å¼æºæ¡æ¶ä¸åºç¨ä¸é¢ä¸åäº«äºæèµå é¨å¯¹ Kylin 4.0 ç使ç¨ç»ååä¼åå®è·µï¼å¯¹äºä¼å¤ Kylin èç¨æ·æ¥è¯´ï¼è¿ä¹æ¯å级 Kylin 4 çå®ç¨æ»ç¥ã"> + <meta name="author" content="Apache Kylin"> + <link rel="shortcut icon" href="fav.png" type="image/png"> + + + +<link rel="stylesheet" href="/assets/css/animate.css"> +<!-- Bootstrap --> +<link rel="stylesheet" href="/assets/css/bootstrap.min.css"> + +<!-- Fonts --> +<!-- <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Alice|Open+Sans:400,300,700"> --> + +<!-- Icons --> +<link rel="stylesheet" href="/assets/css/font-awesome.min.css"> + + <!-- Custom styles --> + <link rel="stylesheet" href="/assets/css/styles.css"> + <link rel="stylesheet" href="/assets/css/docs.css"> + <link rel="stylesheet" href="/assets/css/pygments.css"> + + <link rel="canonical" href="http://kylin.apache.org/cn_blog/2021/06/17/Why-did-Youzan-choose-Kylin4/"> + <link rel="alternate" type="application/rss+xml" title="Apache Kylin" href="http://kylin.apache.org/feed.xml" /> + +<!--[if lt IE 9]> <script src="assets/js/html5shiv.js"></script> <![endif]--> +<!-- Global site tag (gtag.js) - Google Analytics --> +<script async src="https://www.googletagmanager.com/gtag/js?id=UA-120788561-1"></script> +<script> + window.dataLayer = window.dataLayer || []; + function gtag(){dataLayer.push(arguments);} + gtag('js', new Date()); + + gtag('config', 'UA-120788561-1'); +</script> +<script type="text/javascript" src="/assets/js/jquery-1.9.1.min.js"></script> +<script type="text/javascript" src="/assets/js/nside.js"></script> </script> +<script type="text/javascript" src="/assets/js/nnav.js"></script> </script> +<script> +var _hmt = _hmt || []; +(function() { + var hm = document.createElement("script"); + hm.src = "https://hm.baidu.com/hm.js?bdc5e03add430c0b72cc0eb91eabfa99"; + var s = document.getElementsByTagName("script")[0]; + s.parentNode.insertBefore(hm, s); +})(); +</script> + +</head> + + <body> + <!-- +* 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. +--> + +<header id="header" > + + <!-- Main Menu --> + <nav class="navbar navbar-default" role="navigation" id="nav-wrapper"> + <div class="container-fluid" id="nav"> + <!-- + <img class="img-circle" width="40px" height="40px" id="circlelogo" src="/assets/images/kylin_logo.jpg"> + --> + <!-- Brand and toggle get grouped for better mobile display --> + <div class="navbar-header"> + <img class="navbar-logo" width="46" src="/assets/images/kylin_logo.png" ></img> + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <ul class="nav icon-navbar"> + <li><a href="https://twitter.com/apachekylin" target="_blank" class="fa fa-twitter fa-lg" title="Twitter: @ApacheKylin" ></a></li> + <li><a href="https://github.com/apache/kylin" target="_blank" class="fa fa-github-alt fa-lg" title="Github: apache/kylin" ></a></li> + <li><a href="https://www.facebook.com/kylinio" target="_blank" class="fa fa-facebook fa-lg" title="Facebook: kylin.io" ></a></li> + </ul> + </div> + + <!-- Collect the nav links, forms, and other content for toggling --> + <div class="navbar-collapse collapse" id="bs-example-navbar-collapse-1"> + + <ul class="nav navbar-nav"> + + <li><a href="/">Home</a></li> + <li> + <a href="/docs">Docs</a> +<!-- + <a href="#" class="dropdown-toggle" data-toggle="dropdown">Docs</a> + <ul class="dropdown-menu"> + + <li class="dropdown-submenu"><a href="#titleGetting Started" data-toggle="collapse" class="navtitle">Getting Started</a> + <ul class="dropdown-menu"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/index.html" class="list-group-item-lay pjaxlink">Overview</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/release_notes.html" class="list-group-item-lay pjaxlink">Release Notes</a> + </li> + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/gettingstarted/concepts.html" class="list-group-item-lay pjaxlink">Technical Concepts</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/gettingstarted/terminology.html" class="list-group-item-lay pjaxlink">Terminology</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/gettingstarted/faq.html" class="list-group-item-lay pjaxlink">FAQ</a> + </li> + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/gettingstarted/events.html" class="list-group-item-lay pjaxlink">Events and Conferences</a> + </li> + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/gettingstarted/best_practices.html" class="list-group-item-lay pjaxlink">Community Best Practices</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/gettingstarted/kylin-quickstart.html" class="list-group-item-lay pjaxlink">Quick Start</a> + </li> + + + + + + + + + <ul> + </li> + + <li class="dropdown-submenu"><a href="#titleInstallation" data-toggle="collapse" class="navtitle">Installation</a> + <ul class="dropdown-menu"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/install/index.html" class="list-group-item-lay pjaxlink">Installation Guide</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/install/kylin_cluster.html" class="list-group-item-lay pjaxlink">Deploy in Cluster Mode</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/install/configuration.html" class="list-group-item-lay pjaxlink">Kylin Configuration</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/install/kylin_aws_emr.html" class="list-group-item-lay pjaxlink">Install Kylin on AWS EMR</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/install/kylin_docker.html" class="list-group-item-lay pjaxlink">Run Kylin with Docker</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/install/kylin_on_kubernetes.html" class="list-group-item-lay pjaxlink">Deploy Kylin on Kubernetes</a> + </li> + + + + + + + + + <ul> + </li> + + <li class="dropdown-submenu"><a href="#titleTutorial" data-toggle="collapse" class="navtitle">Tutorial</a> + <ul class="dropdown-menu"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/kylin_sample.html" class="list-group-item-lay pjaxlink">Quick Start with Sample Cube</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/web.html" class="list-group-item-lay pjaxlink">Web Interface</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/create_cube.html" class="list-group-item-lay pjaxlink">Cube Wizard</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/cube_build_job.html" class="list-group-item-lay pjaxlink">Cube Build and Job Monitoring</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/cube_migration.html" class="list-group-item-lay pjaxlink">Cube Migration</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/sql_reference.html" class="list-group-item-lay pjaxlink">SQL Reference</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/project_level_acl.html" class="list-group-item-lay pjaxlink">Project And Table Level ACL</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/cube_spark.html" class="list-group-item-lay pjaxlink">Build Cube with Spark</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/cube_flink.html" class="list-group-item-lay pjaxlink">Build Cube with Flink</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/cube_streaming.html" class="list-group-item-lay pjaxlink">Cubing from Kafka(Near RT Streaming)</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/realtime_olap.html" class="list-group-item-lay pjaxlink">Real-time OLAP</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/cube_build_performance.html" class="list-group-item-lay pjaxlink">Cube Build Tuning</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/kylin_client_tool.html" class="list-group-item-lay pjaxlink">Kylin Python Client</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/setup_systemcube.html" class="list-group-item-lay pjaxlink">Set Up System Cube</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/use_cube_planner.html" class="list-group-item-lay pjaxlink">Use Cube Planner</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/use_dashboard.html" class="list-group-item-lay pjaxlink">Use Dashboard</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/setup_jdbc_datasource.html" class="list-group-item-lay pjaxlink">Setup JDBC Data Source</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/hybrid.html" class="list-group-item-lay pjaxlink">Hybrid Model</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/mysql_metastore.html" class="list-group-item-lay pjaxlink">Use MySQL as Metastore</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/lambda_mode_and_timezone_realtime_olap.html" class="list-group-item-lay pjaxlink">Lambda mode and Timezone in Real-time OLAP</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/query_pushdown.html" class="list-group-item-lay pjaxlink">Enable Query Pushdown</a> + </li> + + + + + + + + + <ul> + </li> + + <li class="dropdown-submenu"><a href="#titleIntegration" data-toggle="collapse" class="navtitle">Integration</a> + <ul class="dropdown-menu"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/odbc.html" class="list-group-item-lay pjaxlink">Kylin ODBC Driver</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/jdbc.html" class="list-group-item-lay pjaxlink">Kylin JDBC Driver</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/tableau.html" class="list-group-item-lay pjaxlink">Tableau 8</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/tableau_91.html" class="list-group-item-lay pjaxlink">Tableau 9</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/powerbi.html" class="list-group-item-lay pjaxlink">MS Excel and Power BI</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/microstrategy.html" class="list-group-item-lay pjaxlink">MicroStrategy</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/squirrel.html" class="list-group-item-lay pjaxlink">SQuirreL</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/flink.html" class="list-group-item-lay pjaxlink">Apache Flink</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/spark.html" class="list-group-item-lay pjaxlink">Apache Spark</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/hue.html" class="list-group-item-lay pjaxlink">Hue</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/Qlik.html" class="list-group-item-lay pjaxlink">Qlik Sense</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/tutorial/superset.html" class="list-group-item-lay pjaxlink">Superset</a> + </li> + + + + + + + + + <ul> + </li> + + <li class="dropdown-submenu"><a href="#titleHow To" data-toggle="collapse" class="navtitle">How To</a> + <ul class="dropdown-menu"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_use_restapi.html" class="list-group-item-lay pjaxlink">Use RESTful API</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_build_cube_with_restapi.html" class="list-group-item-lay pjaxlink">Build Cube with API</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_optimize_cubes.html" class="list-group-item-lay pjaxlink">Optimize Cube Design</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_backup_metadata.html" class="list-group-item-lay pjaxlink">Backup Metadata</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_cleanup_storage.html" class="list-group-item-lay pjaxlink">Cleanup Storage</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_upgrade.html" class="list-group-item-lay pjaxlink">Upgrade From Old Versions</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_use_cli.html" class="list-group-item-lay pjaxlink">Use Utility CLIs</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_ldap_and_sso.html" class="list-group-item-lay pjaxlink">Secure with LDAP and SSO</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_use_beeline.html" class="list-group-item-lay pjaxlink">Use Beeline for Hive</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_update_coprocessor.html" class="list-group-item-lay pjaxlink">Update Coprocessor</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_install_ranger_kylin_plugin.html" class="list-group-item-lay pjaxlink">Install Ranger Plugin</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_enable_zookeeper_acl.html" class="list-group-item-lay pjaxlink">Enable Zookeeper ACL</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/howto_use_hive_mr_dict.html" class="list-group-item-lay pjaxlink">Use Hive to build global dictionary</a> + </li> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/howto/sample_dataset.html" class="list-group-item-lay pjaxlink">Sample Dataset</a> + </li> + + + + + + + + + <ul> + </li> + + <li class="dropdown-submenu"><a href="#titleSecurity" data-toggle="collapse" class="navtitle">Security</a> + <ul class="dropdown-menu"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <li class="navlist"> + <a href="/docs/security.html" class="list-group-item-lay pjaxlink">Security Issues</a> + </li> + + + + + + + + + <ul> + </li> + + </ul> --> + </li> + <li><a href="/download">Download</a></li> + <li><a href="/community" >Community</a></li> + <li><a href="/development" >Development</a></li> + <li><a href="/blog">Blog</a></li> + <li><a href="/cn" >䏿ç</a></li> + </ul> + </div><!-- /.navbar-collapse --> + </div><!-- /.container-fluid --> + </nav> + + <div id="head" class="parallax normal-header" > + <div class="text-center header-apache"> + <a href="http://apache.org/foundation/contributing.html" title="Support Apache" style="margin-left: 150px;"> + <div> + <img src="https://www.apache.org/images/SupportApache-small.png" > + </div> + </a> + </div> + </div> + + </header> + + <div class="page-content main"> + <header style=" padding:2em 0 0 "> + <div class="container" > + <div style=" padding:0 4em"> + <div class="blog-icon"> + <img width="30" src="/assets/images/icon_blog_w.png"> + </div> + <h4 class="index-title" style=" float:left;"><span>Apache Kylin⢠Technical Blog</span></h4> + </div> + </div> + </div> + + <div class="container blog"> + <div> + <article class="post-content" > + <!-- +* Licensed to the Apache Software Foundation (ASF) under one +* or more contributor license agreements. See the NOTICE file +* distributed with this work for additional information +* regarding copyright ownership. The ASF licenses this file +* to you under the Apache License, Version 2.0 (the +* "License"); you may not use this file except in compliance +* with the License. You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +--> + +<div class="post" style=" padding:2em 4em 4em 4em"> + + <header class="post-header"> + <h1 class="post-title">æèµä¸ºä»ä¹éæ© Kylin4</h1> + <p class="post-meta" >Jun 17, 2021 ⢠éçä¿</p> + </header> + + <article class="post-content" > + <p>å¨ 2021å¹´5æ29æ¥ä¸¾åç QCon å ¨ç软件å¼åè 大ä¼ä¸ï¼æ¥èªæèµçæ°æ®åºç¡å¹³å°è´è´£äºº éçä¿ å¨å¤§æ°æ®å¼æºæ¡æ¶ä¸åºç¨ä¸é¢ä¸åäº«äºæèµå é¨å¯¹ Kylin 4.0 ç使ç¨ç»ååä¼åå®è·µï¼å¯¹äºä¼å¤ Kylin èç¨æ·æ¥è¯´ï¼è¿ä¹æ¯å级 Kylin 4 çå®ç¨æ»ç¥ã</p> + +<p>æ¬æ¬¡å享主è¦å为以ä¸å个é¨åï¼</p> + +<ul> + <li>æèµéç¨ Kylin 4 çåå </li> + <li>Kylin 4 åçä»ç»</li> + <li>Kylin 4 æ§è½ä¼å</li> + <li>Kylin 4 卿èµçå®è·µ</li> +</ul> + +<h2 id="kylin-4-">01 æèµéç¨ Kylin 4 çåå </h2> +<p>é¦å å享æèµä¸ºä»ä¹ä¼éæ©å级为 Kylin 4ï¼è¿éå ç®åå顾ä¸ä¸æèµ OLAP çåå±åç¨ï¼æèµåæä¸ºäºå¿«éè¿ä»£ï¼éæ©äºé¢è®¡ç® + MySQL çæ¹å¼ï¼2018å¹´ï¼å 为æ¥è¯¢çµæ´»åå¼åæçå¼å ¥äº Druidï¼ä½æ¯åå¨é¢èå度ä¸é«ã䏿¯æç²¾ç¡®å»éåæç» OLAP çé®é¢ï¼å¨è¿æ ·çèæ¯ä¸ï¼æèµå¼å ¥äºæ»¡è¶³èå度é«ãæ¯æç²¾ç¡®å»éå RT æä½ç Apache Kylin åæ¥è¯¢éå¸¸çµæ´»ç ROLAP ClickHouseã</p> + +<p>ä»2018å¹´å¼å ¥ Kylin å°ç°å¨ï¼æèµå·²ç»ä½¿ç¨ Kylin ä¸å¹´å¤äºãéçä¸å¡åºæ¯ç䏿䏰å¯åæ°æ®éçä¸æç§¯ç´¯ï¼æèµç®åæ 600 ä¸çåéåå®¶ï¼2020å¹´ GMV æ¯ 1073äº¿ï¼æ¥æå»ºé为 100 亿+ï¼ç®å Kylin å·²ç»åºæ¬è¦çäºæèµææçä¸å¡èå´ã</p> + +<p>éçæèµèªèº«çè¿ éåå±åä¸ææ·±å ¥å°ä½¿ç¨ Kylinï¼æä»¬ä¹éå°ä¸äºææï¼<br /> +- é¦å Kylin on HBase çæå»ºæ§è½æ æ³æ»¡è¶³æèµçé¢æï¼æå»ºæ§è½ä¼å½±åå°ç¨æ·çæ 鿢夿¶é´åç¨³å®æ§çä½éªï¼<br /> +- å ¶æ¬¡ï¼éçæ´å¤å¤§åå®¶ï¼ååºåä¸çº§å«ä¼åãæ°åä¸ååï¼çæ¥å ¥ï¼å¯¹æä»¬çæ¥è¯¢ä¹å¸¦æ¥äºå¾å¤§çææãKylin on HBase åéäº QueryServer åç¹æ¥è¯¢çå±éï¼æ æ³å¾å¥½å°æ¯æè¿äºå¤æçåºæ¯ï¼<br /> +- æåï¼å 为 HBase 䏿¯ä¸ä¸ªäºåçç³»ç»ï¼å¾é¾åå°å¼¹æ§çèµæºä¼¸ç¼©ï¼éçæ°æ®éç䏿å¢é¿ï¼è¿ä¸ªç³»ç»å¯¹äºåå®¶èè¨ï¼ä½¿ç¨æ¶é´æ¯åå¨é«å³°åä½è°·çï¼è¿å°±é æå¹³åçèµæºä½¿ç¨çä¸å¤é«ã</p> + +<p>é¢å¯¹è¿äºææï¼æèµéæ©å»åæ´äºåçç Apache Kylin 4 å»é æ¢åå级ã</p> + +<h2 id="kylin-4--1">02 Kylin 4 åçä»ç»</h2> +<p>é¦å ä»ç»ä¸ä¸ Kylin 4 ç主è¦ä¼å¿ãApache Kylin 4 æ¯å®å ¨åºäº Spark å»åæå»ºåæ¥è¯¢çï¼è½å¤å åå°å©ç¨ Sparkçå¹¶è¡åãåéååå ¨å±å¨æä»£ç çæçææ¯ï¼å»æé«å¤§æ¥è¯¢çæçã<br /> +è¿éä»åå¨ãæå»ºåæ¥è¯¢ä¸ä¸ªé¨åç®åä»ç»ä¸ä¸ Kylin 4 çåçã</p> + +<h3 id="section">åå¨</h3> +<p><img src="/images/blog/youzan_cn/1 kylin4_storage.png" alt="" /><br /> +é¦å æ¥çä¸ä¸ï¼Kylin on HBase å Kylin on Parquet ç对æ¯ãKylin on HBase ç Cuboid çæ°æ®æ¯åæ¾å¨ HBase ç表éï¼ä¸ä¸ª Segment 对åºäºä¸å¼ HBase è¡¨ï¼æ¥è¯¢ä¸æ¨çå·¥ä½ç± HBase åçå¨å¤çï¼å 为 HBase 䏿¯çæ£çååå¹¶ä¸å¯¹ OLAP èè¨ååéä¸é«ãKylin 4 å° HBase æ¿æ¢ä¸º Parquetï¼ä¹å°±æ¯æææçæ°æ®æç §æä»¶åå¨ï¼æ¯ä¸ª Segment ä¼åå¨ä¸ä¸ªå¯¹åºç HDFS çç®å½ï¼ææçæ¥è¯¢ãæå»ºé½æ¯ç´æ¥éè¿è¯»åæä»¶çæ¹å¼ï¼ä¸ç¨åç»è¿ HBaseãè½ç¶å¯¹äºå°æ¥è¯¢çæ§è½ä¼æä ¸å®æå¤±ï¼ä½å¯¹äºå¤ææ¥è¯¢å¸¦æ¥çæåæ¯æ´å¯è§çãæ´å¼å¾çã</p> + +<h3 id="section-1">æå»ºå¼æ</h3> +<p><img src="/images/blog/youzan_cn/2 kylin4_build_engine.png" alt="" /><br /> +å ¶æ¬¡æ¯ Kylin æå»ºå¼æï¼åºäºæèµçæµè¯ï¼Kylin on Parquet çæå»ºé度已ç»ä» 82 åéä¼åå°äº 15 åéï¼æä»¥ä¸å 个åå ï¼</p> + +<ul> + <li>Kylin 4 廿äºç»´åº¦åå ¸çç¼ç ï¼çå»äºç¼ç çä¸ä¸ªæå»ºæ¥éª¤ï¼</li> + <li>å»æäº HBase File ççææ¥éª¤ï¼</li> + <li>æ°çæ¬ç Kylin 4 ææçæå»ºæ¥éª¤é½è½¬æ¢ä¸º Spark è¿è¡æå»ºï¼</li> + <li>Kylin on Parquet åºäº Cuboid å»ååæå»ºç²åº¦ï¼æå©äºè¿ä¸æ¥å°æåå¹¶è¡åº¦ã</li> +</ul> + +<p>å¯ä»¥çå°å³ä¾§ï¼ä»å个æ¥éª¤ç®åå°äºä¸¤ä¸ªæ¥éª¤ï¼æå»ºæ§è½æåçéå¸¸ææ¾çã</p> + +<h3 id="section-2">æ¥è¯¢å¼æ</h3> +<p><img src="/images/blog/youzan_cn/3 kylin4_query.png" alt="" /></p> + +<p>æ¥ä¸æ¥å°±æ¯ Kylin 4 çæ¥è¯¢ï¼å¤§å®¶å¯ä»¥çå°ï¼å·¦è¾¹è¿å Kylin on HBase çè®¡ç®æ¯å®å ¨ä¾æäº Calcite å HBase çåå¤çå¨ï¼è¿å°±å¯¼è´å½æ°æ®ä» HBase 读ååï¼å¦ææ³åèåãæåºçï¼å°±ä¼å±éäº QueryServer åç¹çç¶é¢ï¼è Kylin 4 å转æ¢ä¸ºåºäº Spark DataFrame çå ¨åå¸å¼çæ¥è¯¢æºå¶ã</p> + +<h2 id="kylin-4--2">03 Kylin 4 æ§è½ä¼å</h2> +<p>æ¥ä¸æ¥å享æèµå¨ Kylin 4 æåçä¸äºæ§è½ä¼åã</p> + +<h3 id="section-3">æ¥è¯¢æ§è½ä¼å</h3> +<p>#### 1.卿æ¶é¤ç»´åº¦ååº<br /> +<img src="/images/blog/youzan_cn/4 dynamic_elimination_dimension_partition.png" alt="" /></p> + +<p>é¦å æä»¬æ¥çä¸ä¸ªåºæ¯ï¼æä»¬åå°äºå¨ææ¶é¤ååºç»´åº¦ï¼æ··åä½¿ç¨ cuboid æ¥å¯¹å¤ææ¥è¯¢ï¼åå°æ°ååç计ç®éã</p> + +<p>è¿é举ä¸ä¸ªä¾åï¼å¨ä¸ä¸ª Cube æä¸ä¸ª Segment çæ åµä¸ï¼Cube ååºåæ®µè®°ä½ Pï¼å®æä¸ä¸ª Segment å嫿¯1æ1æ¥å°2æ1æ¥ã2æ1æ¥å°3æ1æ¥ï¼3æ1æ¥å°3æ7æ¥ãå设æä¸ä¸ªSQLï¼Select count(a) from test where p >= 20200101 and p <= 20200313 group by aã</p> + +<p>å¨è¿ç§æ åµä¸ï¼å 为éè¦ååºè¿æ»¤ï¼Kylin å®ä¼éæ© a å p é¢è®¡ç®ç»´åº¦çç»åï¼è½¬æ¢ææ§è¡è®¡åå°±æ¯æä¸å±ç Aggregate ç¶å Filterï¼æåä¼è½¬æ¢æä¸ä¸ª TableScanï¼è¿ä¸ª TableScan å°±æ¯éæ©èå维度为 a å p è¿æ ·çä¸ä¸ªç»´åº¦ç»åãå®é ä¸è¿ä¸ªæ¥è¯¢è®¡åæ¯éåæå®ä¼åæå³è¾¹è¿ç§æ¹å¼çï¼å¯¹äºæä¸ª Segment å®å ¨ä½¿ç¨å°çæ°æ®ï¼æä»¬å¯ä»¥éæ©ä¸ä¸ª Cuboid 为 a ç Cuboid å»åæ¥è¯¢ã对äºé¨åç¨å°çååºæè Segmentï¼æä»¬å¯ä»¥éæ© a å p � �¿æ ·çä¸ä¸ªç»´åº¦ç»åãéè¿è¿ç§æ¹å¼ï¼å¨ a åªæä¸ä¸ªå¯è½å¼çæ åµä¸ï¼ä¹åå¯è½è¦ scan 65 æ¡æ°æ®ï¼ä¼åååªè¦ scan 8 æ¡æ°æ®ãå设æ¶é´è·¨åº¦æ´é¿ï¼æ¯å¦è¯´è·¨å 个æãåå¹´çè³ä¸å¹´ï¼å°±ä¼åå°æ°ååãå ååç计ç®éå IOã</p> + +<p>å¨æèµæäºåºæ¯ï¼RT å¯ä»¥ä» 10 ç§ä¼åå° 3 ç§ã20s æåå° 6sï¼å¯¹äºæ´å¤æçåºæ¯ï¼æ¯å¦è®¡ç®å¯éåç HLLï¼ï¼ä¼ææ´æ¾èçä¼åææãè¿é¨åä¼åï¼æèµä¹æ£æç®è´¡ç®å社åºãå 为æ¶åå°å¦ä½å¨å¤å±åµå¥åå¤æçæ¡ä»¶ä¸è¿è¡ segment åç»ï¼ä»¥åç®å calcite å spark catalyst å¹¶åï¼å®ç°ä¸ä¼æ¯è¾å¤æãå°æ¶åå¤§å®¶å¨ Kylin 4.0-GA çæ¬å¯è½å°±å¯ä»¥çå°è¿ä¸ªä¼åäºã</p> + +<h4 id="section-4">2.å¤æè¿æ»¤æ¡ä»¶ä¸çååºè£åª</h4> +<p>æ¥ä¸æ¥åä»ç»ä¸ä¸æèµæåçæ¥è¯¢æ§è½ä¼åï¼å°±æ¯æ¯æå¤æè¿æ»¤æ¡ä»¶ä¸çååºè£åªãç®å Kylin 4.0 Beta çæ¬å¯¹äºå¤æçè¿æ»¤æ¡ä»¶æ¯å¦å¤ä¸ªè¿æ»¤å段ãå¤å±åµå¥ç Filter çï¼ä¸æ¯æååºè£åªï¼å¯¼è´å ¨è¡¨æ«æãæä»¬åäºä¸ä¸ªä¼åï¼æ¯å°å¤æçåµå¥ Filter è¿æ»¤çè¯æ³æ è½¬æ¢æåºäºååºå段 p çä¸ä¸ªç价表达å¼ï¼ç¶ååå°è¿ä¸ªè¡¨è¾¾å¼åºç¨å°æ¯ä¸ä¸ª Segment å»åè¿æ»¤ï¼éè¿è¿æ ·çæ¹å¼ï¼å»æ¯æå®åå°ä¸ä¸ªéå ¸¸å¤æçååºè¿æ»¤è£åªã</p> + +<p><img src="/images/blog/youzan_cn/5 Partition clipping under complex filter.png" alt="" /></p> + +<h4 id="spark-">3.Spark åæ°è°ä¼</h4> +<p><img src="/images/blog/youzan_cn/6 tuning_spark_configuration.png" alt="" /></p> + +<p>æ¥ä¸æ¥æ¯æ¯è¾éè¦çä¸é¨åï¼å°±æ¯å ³äº Spark çè°åãSpark æ¯ä¸ä¸ªåå¸å¼è®¡ç®æ¡æ¶ï¼ç¸æ¯ Calcite èè¨ï¼å¯¹äºå°æ¥è¯¢æ¯åå¨ä¸å®å£å¿çã</p> + +<p>é¦å æä»¬åäºä¸ä¸ªè°æ´ï¼å°½é让 Spark ææçè®¡ç®æä½æ¯å¨å åä¸å®æçã以ä¸ä¸¤ç§æ åµä¼äº§ç spillï¼<br /> +- 01 å¨èåæ¶ï¼å¨æä»¬å åä¸å¤çæ¶åï¼Spark ä¼å° HashAggregate 转æ¢ä¸º Sort Based Aggregateï¼å®é ä¸è¿ä¸æ¥æ¯å¾èæ§è½çãæä»¬éè¿è°å¤§éå¼çåæ°ï¼å°½é让ææçèåé½å¨å åä¸å®æã<br /> +- 02 å¨ shuffle çè¿ç¨ä¸ï¼Sparkæ¯ä¸å¯é¿å å°ä¼è¿è¡ Spillï¼ä¼è½çï¼æä»¬è½åçå°½éå¨ Shuffle è¿ç¨åå° Spillï¼åªå¨æå Shuffle ç»æä¹åè¿è¡ Spillã</p> + +<p>第äºä¸ªæä»¬åçè°ä¼æ¯ï¼ç¸æ¯ on YARN/Standalone 模å¼ä¸ï¼local 模å¼å¤§é¨å齿¯å¨è¿ç¨å éä¿¡çï¼ä¹ä¸éè¦äº§çè·¨ç½ç»ç Shuffleï¼ broadcast 广æåéä¹ä¸éè¦è·¨ç½ç»ï¼æä»¥å¯¹äºå°æ¥è¯¢ï¼æä»¬ä¼è·¯ç±å°ä»¥ Local 模å¼è¿è¡ç Spark Applicationï¼è¿å¯¹äºå°æ¥è¯¢é常ææä¹ã</p> + +<p>第ä¸ä¸ªä¼åæ¯ shuffle 使ç¨å åçãå 为å åçè¯å®æ¯æå¿«çï¼æä»¬å°å åçæè½½ä¸º tmpfs æä»¶ç³»ç»ï¼ç¶åå° spark.local.dir æå®ä¸ºæè½½çå åçå»ä¼å shuffle çé度åååã</p> + +<p>第å个ä¼åæ¯æä»¬å ³é Spark å ¨å±å¨æä»£ç çæãSpark çå ¨å±å¨æä»£ç çææ¯è¦å¨è¿è¡çæ¶é´å å»å¨ææ¼æ¥ä»£ç ï¼åå»å¨æç¼è¯ä»£ç ï¼è¿ä¸ªè¿ç¨å®é 䏿¯å¾èæ¶çã对äºç¦»çº¿çå¤§æ°æ®é䏿¯å¾æä¼åæä¹ï¼ä½æ¯å¯¹äºæ¯è¾å°çä¸äºæ°æ®åºæ¯ï¼æä»¬å ³æè¿ä¸ªå¨æä»£ç çæä¹åï¼è½å¤èçå¤§æ¦ 100 å° 200 毫ç§çèæ¶ã</p> + +<p>ç®åç»è¿ä¸è¿°ä¸ç³»åçä¼åï¼æä»¬è½è®©å°æ¥è¯¢ç RT 稳å®å¨å¤§æ¦ 300 毫ç§å·¦å³ï¼å°½ç®¡ HBase å¯è½æ¯å 忝«ç§å·¦å³ç RTï¼ä½æä»¬è®¤ä¸ºç®åå·²ç»æ¯è¾æ¥è¿äºï¼è¿ç§ä¸ºæå大æ¥è¯¢æåç Tradeoff æä»¬è®¤ä¸ºæ¯ä¸ä¸ªå¾å¼å¾çäºæ ã</p> + +<h4 id="section-5">4.å°æ¥è¯¢ä¼å</h4> +<p><img src="/images/blog/youzan_cn/8 small_query_optimization.png" alt="" /><br /> +ç¶åï¼ææ¥å享ä¸ä¸å°æ¥è¯¢çä¼åãKylin on HBase ä¾æäº HBase è½å¤åå°å 忝«ç§ç RTï¼å 为 HBase æ bucket cache ç¼åãè Kylin on Parquet å°±å®å ¨åºäºæä»¶ç读åå计ç®ï¼ç¼åä¾èµäºæä»¶ç³»ç»ç page cacheï¼é£ä¹å®å°æ¥è¯¢ç RT 伿¯ HBase æ´é«ä¸äºï¼æä»¬è½åçå°±æ¯å°½éç¼©å° Kylin on Parquet å Kylin on HBase ç RT å·®è·ã</p> + +<p>ç»è¿æä»¬çåæï¼SQL ä¼éè¿ Calcite è§£ææ Calcite è¯æ³æ ï¼ç¶åå°è¿ä¸ªè¯æ³æ 转å为 Spark DataFrameï¼æç»åå°æ´ä¸ªæ¥è¯¢äº¤ç» Spark 廿§è¡ãå¨è¿ä¸æ¥çè¿ç¨ä¸ï¼SQL è½¬åæ Calcite çè¿ç¨ä¸ï¼æ¯éè¦ç»è¿è¯æ³è§£æãä¼åçï¼è¿ä¸æ¥å¤§æ¦ä¼æ¶è 150 毫ç§å·¦å³ãæèµåçæ¯å°½é使ç¨ç»æåç SQLï¼å°±æ¯ PreparedStatementï¼æä»¬å¨ Kylin 䏿¯æ PreparedStatementCacheï¼å¯¹äºåºå®ç SQL æ ¼å¼ï¼å°å®çæ§è¡è®¡åè¿è¡ç¼åï¼å»éç¨è¿æ ·çæ§è¡è®¡åï¼éä½è¯ ¥æ¥éª¤çæ¶é´æ¶èï¼éè¿è¿æ ·çä¼åï¼å¯ä»¥éä½å¤§æ¦ 100 毫ç§å·¦å³çèæ¶ã</p> + +<h4 id="parquet-">5.Parquet ä¼å</h4> + +<p>å ³äºæ¥è¯¢æ§è½çä¼åï¼æèµè¿å åå©ç¨äº Parquet ç´¢å¼ï¼ä¼åå»ºè®®å æ¬ï¼</p> + +<ul> + <li> + <p>Parquet æä»¶é¦å æ ¹æ® Shard By Column è¿è¡åç»ï¼è¿æ»¤æ¡ä»¶å°½éå å« Shard By Columnï¼</p> + </li> + <li> + <p>Parquet ä¸çæ°æ®ä¾ç¶æç §ç»´åº¦æåºï¼ç»å Column MetaData ä¸ç MaxãMin ç´¢å¼ï¼å¨å½ä¸åç¼ç´¢å¼æ¶è½å¤è¿æ»¤æå¤§éæ°æ®ï¼</p> + </li> + <li> + <p>è°å° RowGroup Size å¢å¤§ç´¢å¼ç²åº¦çã</p> + </li> +</ul> + +<h3 id="section-6">æå»ºæ§è½ä¼å</h3> +<p>#### 1.对 parent dataset åç¼å<br /> +<img src="/images/blog/youzan_cn/9 cache_parent_dataset.png" alt="" /></p> + +<h4 id="section-7">2.å¤ç空å¼å¯¼è´çæ°æ®å¾æ</h4> +<p><img src="/images/blog/youzan_cn/10 Processing data skew.png" alt="" /></p> + +<p>æ´å¤å ³äºæå»ºä¼åçç»èå 容大家å¯ä»¥åè <a href="https://mp.weixin.qq.com/s/T_mK7pTAgk2PXnSJ0lbZ_w">Kylin 4 ææ°åè½é¢è§ + ä¼åå®è·µæ¢å ç</a></p> + +<h2 id="kylin-4--3">04 Kylin 4 卿èµçå®è·µ</h2> +<p>ä»ç»æèµçä¼åä¹åï¼æä»¬åæ¥å享ä¸ä¸ä¼åçææï¼ä¹å°±æ¯ Kylin 4 卿èµçå®è·µå æ¬å级è¿ç¨ä»¥åä¸çº¿çææã</p> + +<h3 id="section-8">å æ°æ®å级</h3> +<p>é¦å æ¯å¦ä½åçº§ï¼æä»¬å¼åäºä¸ä¸ªå æ°æ®æ ç¼å级çå·¥å ·ï¼é¦å æä»¬å¨ Kylin on HBase çå æ°æ®æ¯ä¿åå¨ HBase éçï¼æä»¬å° HBase éçå æ°æ®ä»¥æä»¶çæ ¼å¼å¯¼åºï¼åå°æä»¶æ ¼å¼çå æ°æ®åå ¥å° MySQLï¼æä»¬ä¹å¨ Apache Kylin ç宿¹ wiki æ´æ°äºæä½ææ¡£ä»¥å大è´çåçï¼æ´å¤è¯¦æ 大家å¯ä»¥åèï¼<a href="https://wiki.apache.org/confluence/display/KYLIN/How+to+migrate+metadata+to+Kylin+4">å¦ä½åçº§å æ°æ®å°kylin4</a>.<br /> +<img src="/images/blog/youzan_cn/11 metadata_upgrade.png" alt="" /><br /> +æä»¬å¤§è´ä»ç»ä¸ä¸æ´ä¸ªè¿ç¨ä¸çä¸äºå ¼å®¹æ§ï¼éè¦è¿ç§»çæ°æ®å¤§æ¦æå 个ï¼åä¸ä¸ªæ¯ project å ä¿¡æ¯ï¼tables çå ä¿¡æ¯ï¼å æ¬ä¸äº Hive 表ï¼è¿æ model 模åå®ä¹çä¸äºå ä¿¡æ¯ï¼è¿äºæ¯ä¸éè¦ä¿®æ¹çãéè¦ä¿®æ¹çå°±æ¯ Cube çå ä¿¡æ¯ãè¿é¨åéè¦ä¿®æ¹åªäºä¸è¥¿å¢ï¼é¦å æ¯ Cube æä½¿ç¨çåå¨åæ¥è¯¢çç±»åï¼æ´æ°å®è¿ä¸¤ä¸ªå段ä¹åï¼éè¦éæ°è®¡ç®ä¸ä¸ Cube çç¾åï¼è¿ä¸ªç¾åçä½ç¨æ¯ Kylin å é¨è®¾è®¡çé¿å Cube ç¡®å®� �¹åæä»¬åå»ä¿®æ¹ Cube 导è´çä¸äºé®é¢ï¼æåä¸ä¸ªæ¯æéç¸å ³ï¼è¿é¨å乿¯å ¼å®¹ï¼æ éä¿®æ¹çã</p> + +<h3 id="kylin-4--4">Kylin 4 卿èµä¸çº¿åç表ç°</h3> +<p><img src="/images/blog/youzan_cn/12 commodity_insight.png" alt="" /></p> + +<p>å æ°æ®è¿ç§»å° Kylin ä¹åï¼æä»¬æ¥å享ä¸ä¸å¨æèµçä¸äºåºæ¯ä¸å¸¦æ¥äºçè´¨ååå¤§å¹ åº¦çæ§è½æåãé¦å åååæ´å¯è¿æ ·ä¸ä¸ªåºæ¯ï¼æä¸ä¸ªæ°åä¸ååç大åºéºï¼æä»¬è¦å»åæå®ç交æåæµéçï¼æåå 个精确å»éç计ç®ã精确å»éå¦ææ²¡æéè¿é¢è®¡ç®å Bitmap å»åä¼åå®é ä¸æçæ¯å¾ä½çï¼Kylin ç®åä½¿ç¨ Bitmap å»å精确å»éçæ¯æãå¨ä¸ä¸ªéè¦å¯¹å åä¸ä¸ªååçåç§ UV å»åæåºç夿æ¥� �¯¢çåºæ¯ï¼Kylin 2 ç RT æ¯ 27 ç§ï¼èå¨ Kylin 4 è¿ä¸ªåºæ¯ç RT ä» 27 ç§éå°äº 2 ç§ä»¥å ã</p> + +<p>æè§å¾ Kylin 4 æå¸å¼æçå°æ¹æ¯å®å®å ¨åæäºä¸ä¸ªæå¨æ¡£ï¼è Kylin on HBase å®é 䏿¯ä¸ä¸ªèªå¨æ¡£ï¼å 为å®çå¹¶åå®å ¨å region çæ°éç»å®äºã</p> + +<p><img src="/images/blog/youzan_cn/13 cube_query.png" alt="" /></p> + +<h3 id="kylin-4--5">Kylin 4 卿èµçæªæ¥è®¡å</h3> +<p>Kylin 4 卿èµçå级大è´å å«ä»¥ä¸å 个æ¥éª¤ï¼<br /> +<img src="/images/blog/youzan_cn/14 youzan_plan.png" alt="" /></p> + +<p>第ä¸é¶æ®µå°±æ¯è°ç åå¯ç¨æ§æµè¯ï¼å 为 Kylin on Parquet å®é 䏿¯åºäº Sparkï¼æ¯æä¸å®çå¦ä¹ ææ¬çï¼è¿ä¸ªæä»¬ä¹è±äºä¸æ®µæ¶é´ï¼</p> + +<p>第äºé¶æ®µå°±æ¯è¯æ³å ¼å®¹æ§æµè¯ï¼æä»¬æ©å±äº Kylin 4 åæä¸æ¯æçä¸äºè¯æ³ï¼æ¯å¦è¯´å页æ¥è¯¢çè¯æ³çï¼</p> + +<p>第ä¸é¶æ®µå°±æ¯æµééæ¾ï¼éæ¥å°ä¸çº¿ Cube çï¼</p> + +<p>æä»¬ç°å¨æ¯å±äºç¬¬åé¶æ®µï¼æä»¬å·²ç»è¿ç§»äºä¸äºæ°æ®äºï¼æªæ¥çè¯ï¼æä»¬ä¼éæ¥å°ä¸çº¿æ§é群ï¼ç¶åå°ææçä¸å¡å¾æ°é群ä¸å»è¿ç§»ã</p> + +<p>å ³äº Kylin 4 æä»¬æªæ¥è®¡åå¼åçåè½å满足çéæ±æèµä¹ä¼å¨ç¤¾åºå»åæ¥ãå°±ä¸å¨è¿éå详ç»ä»ç»äºï¼å¤§å®¶å¯ä»¥å ³æ³¨æä»¬ç¤¾åºçææ°å¨æï¼ä»¥ä¸å°±æ¯æä»¬çå享ã</p> + + </article> + +</div> + + + + + + </article> + </div> + </div> + <!-- +* 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. +--> + +<footer id="underfooter"> + <div> + <div class="row"> + <div class="col-md-12 widget"> + <div class="widget-body"> + <div class="footer-img"> + <a href="http://www.apache.org"> + <img id="asf-logo" height="78px" alt="Apache Software Foundation" src="/assets/images/apache_footer.png"> + </a> + </div> + <p style="padding-top: 11px;"> + The contents of this website are © 2015 Apache Software Foundation under the terms of the
[... 26 lines stripped ...]