Kyligence Copilot - AI 数智助理,以 AI 变革企业经营与管理! 立即了解更多
AI 数智助理
Kyligence Zen Kyligence Zen
Kyligence Enterprise Kyligence Enterprise
Kyligence Turbo Kyligence Turbo
指标平台解决方案
OLAP 解决方案
行业解决方案
客户总览
金融
零售
制造
医药
其他
云平台
BI
寻求合作
资源
Kyligence Enterprise
Kyligence Zen
培训
Apache Kylin
Byzer
Gluten
博客
关于
市场活动
Apache Kylin是这几年迅速崛起的开源分布式大数据查询引擎,它依托Hadoop MapReduce,HBase,Spark,Kafka等技术的强大能力,能对超大数据集进行预计算(构建Cube),从而当在线查询请求到来时,以亚秒级低延迟返回结果。Apache Kylin已经在众多企业得到广泛应用,如百度[1],京东[2],美团[3],唯品会[4],网易[5],今日头条[6]等等。Kylin连续两年获得InfoWorld评选的最佳开源大数据工具奖[7][8],足以彰显其实力。特别要指出的是, Kylin技术不仅可以运用在企业的私有集群上,还可以在公有云如AWS, Azure, 阿里云上快速部署实施。本文将以最近推出的Kylin 2.0和AWS EMR 5.5(海外版)为例,手把手教你在云上快速使用Kylin。
EMR是AWS提供的云上可伸缩Hadoop方案,与AWS的各项云服务如S3有很好的集成。利用EMR,用户可以按需创建分布式Hadoop,递交MapReduce, Hive, Spark等应用或脚本对数据进行加工处理。处理完成后将数据保存在S3上,随后关闭集群以节省成本。
启动EMR非常简单,登录AWS控制台,选择EMR服务,点击“Create Cluster”,选择最新的5.5版本,类型为HBase:
这里您可以选择合适的硬件配置;默认是m3.xlarge 3个节点,其中1个节点为master,另外两个为core节点。选择合适的EC2 key pair,随后点击“Create cluster”,AWS便会开始自动安装和配置Hadoop/HBase集群。
大约20分钟后,集群状态显示为“Waiting Cluster ready”,就意味着集群准备就绪可以使用了。
Apache Kylin以Hadoop client的方式运行,使用标准协议/API与集群交互。您可以将它安装在集群的任意节点上,通常建议安装在一个单独的client节点上。在这里我们为了简单,就把Kylin安装在master节点上。
在AWS控制台上,您可以获取SSH到EMR的方法;点击“Master public DNS”旁边的SSH链接,即可获得,如下图所示:
SSH登录到master节点后,首先创建一个Kylin安装目录,用于下载和解压Apache Kylin 2.0的二进制包(注:具体下载地址请在https://kylin.apache.org/download/获取):
sudo mkdir /usr/local/kylin
sudo chown kylin /usr/local/kylin
cd /usr/local/kylin
wget https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.0.0/apache-kylin-2.0.0-bin-hbase1x.tar.gz
tar –zxvf apache-kylin-2.0.0-bin-hbase1x.tar.gz
由于一个已知的问题KYLIN-2587,您需要手动设置一个参数:用编辑器打开/etc/hbase/conf/hbase-site.xml,在其中寻找到“hbase.zookeeper.quorum”这个参数,然后将它以及它的值,拷贝到Kylin目录下的conf/kylin_job_conf.xml文件中。如下所示:
<property> <name>hbase.zookeeper.quorum</name> <value>ip-nn-nn-nn-nn.ap-northeast-2.compute.internal</value> </property>
Kylin自带了一个小的数据集以及定义好的cube,只需要运行bin/sample.sh就可以将数据导入到Hive和HBase中:
export KYLIN_HOME=/usr/local/kylin/apache-kylin-2.0.0-bin
$KYLIN_HOME/bin/sample.sh
随后,就可以启动Kylin了:
$KYLIN_HOME/bin/kylin.sh start
大约若干秒以后,Kylin服务就会完成启动,在7070端口等待用户请求。
EMR默认创建了两个安全组,分别给EMR master和EMR core,要想从外网访问Kylin,需要设置相应规则;这里我们是将Kylin部署到了master节点,所以需要编辑master的安全组:
添加规则,允许7070端口从外面地址访问,为安全起见,建议只开放给最小的IP群,例如仅自己的地址:
接下来,在浏览器中输入https://<master-public-address>:7070/kylin,就会显示Kylin的登录页,使用默认账号ADMIN加密码KYLIN完成登录:
登录Kylin后,选择“learn_kylin”的项目,就会看到“kylin_sales”的样例Cube。此Cube模拟一个电商对其销售记录从多维度进行分析的场景,维度包括了时间(天,周,年),区域、卖家、买家、商品分类等。此时Cube只有定义,还没有加载数据,状态是“disabled”,需要触发一次Build。点击“Actions”, “Build”,然后选择一个时间范围,Kylin会以此条件从Hive加载数据进行一系列计算(样例数据已经导入到Hive):
所有的MapReduce, HBase操作,Kylin会自动生成并依次执行。大约七八分钟后,任务进度到100%构建完成,接下来此Cube就可以使用了:
Cube构建完成后状态变更为“Ready”,可以使用SQL对其进行查询。虽然Kylin将原始数据构建成了多维Cube,但是对外的查询接口依旧是标准SQL,且表名、字段名依然是用原始的名称。这意味着用户一方面可以不用学习新的语言工具,另一方面以前在Hive中执行的查询语句,可以直接拿来在Kylin中执行。
在Kylin主页点击“Insight”,切换到查询视图。此时页面的左导航处显示可以通过Cube进行查询的表和列。这里您可以手写一条SQL,如下面的这条语句,按年计算交易总金额和记录数:
select YEAR_BEG_DT, sum(price), count(*) from kylin_sales inner join kylin_cal_dt on part_dt = cal_dt group by YEAR_BEG_DT;
点击“Submit”,Kylin随即执行并显示结果,如下图所示:
从上图可以看出,Kylin的执行只耗费了0.61秒,至此您已经完成了在AWS上运行Hadoop + Kylin的任务。
如果您想进一步深入使用Kylin和EMR,可以尝试完成这些任务:
使用完以后,记得关闭EMR集群以节省费用。
总结
借助于独有的分布式预计算技术,Kylin的查询性能比其它各类MPP的SQL引擎,例如Hive, Impala, Presto, SparkSQL等都要高出很多,并且随着数据量的增加,Kylin的查询延迟依旧可以保持在亚秒级[9]。近些年云计算发展势头迅猛,越来越多的企业正在将大数据分析迁移到云上,在选择OLAP方案时,低延迟、高并发、可扩展是重要的考虑因素,在这些方面Kylin具有独特优势,希望这篇文章能够帮助到大家。更多信息,请参考Apache Kylin官网[10],订阅社区邮件列表[11],如果需要企业版及专业服务,请联系Kyligence[12]。
百度[1],京东[2],美团[3],唯品会[4],今日头条[5]
[1] https://www.infoq.com/cn/articles/practis-of-apache-kylin-in-baidu-map
[2] https://www.csdn.net/article/2015-11-27/2826343
[3] https://www.infoq.com/cn/articles/kylin-apache-in-meituan-olap-scenarios-practice
[4] https://www.infoq.com/cn/articles/application-of-apache-kylin-in-vip-big-data
[5] https://www.bitstech.net/2016/01/04/kylin-olap/
[6] https://kylin.apache.org/community/poweredby.html
[7] https://www.infoworld.com/article/2982429/open-source-tools/bossie-awards-2015-the-best-open-source-big-data-tools.html
[8] https://www.infoworld.com/article/3120856/open-source-tools/bossie-awards-2016-the-best-open-source-big-data-tools.html
[9] https://github.com/Kyligence/ssb-kylin
[10] https://kylin.apache.org/
[11] https://kylin.apache.org/community/
[12] https://cn.kyligence.io/
近年来,随着商业环境的竞争日益激烈,企业对于实时数据服务的需求急剧增加。Kyligence 在服务众多客户的过
数据要素在银行各业务领域和流程中发挥着至关重要的作用,面对激烈的市场竞争和客户需求,银行越来越注重从数据管理中
作为一名消费者,炎热的夏天我们会走进一家便利店,从冰柜中选出一瓶汽水;下午工作有点累了,我们会在公司的自动贩卖
2024 年伊始,Kyligence 联合创始人兼 CEO 韩卿(Luke)分享了对 AI 与数据行业的一些战
房地产行业是我国国民经济中的重要支柱产业之一,在房地产市场供求关系发生重大变化的当下,房企面临多重挑战。Kyl
今年年初,Kyligence 高级副总裁兼合伙人葛双寅(Silas Ge)受邀在阿斯利康“跃行致远三十周年年会
2024 年伊始,Kyligence 联合创始人兼 CEO 韩卿在公司内部的飞书订阅号发表了多篇 Rethin
400 8658 757
工作日:10:00 - 18:00
已有账号? 点此登陆
预约演示,您将获得
完整的产品体验
从数据导入、建模到分析的全流程操作演示。
行业专家解惑
与资深行业专家的交流机会,解答您的个性化问题。
请填写真实信息,我们会在 1-2 个工作日内电话与您联系。
全行业落地场景演示
涵盖金融、零售、餐饮、医药、制造等多个行业,最贴合您的业务需求与场景。
Data + AI 应用落地咨询
与资深技术专家深入交流,助您的企业快速落地 AI 场景应用。
申请体验,您将获得
体验数据处理性能 2x 加速
同等规模资源、同等量级数据、同一套数据处理逻辑,处理耗时下降一半
专家支持
试用部署、生成数据、性能对比各操作环节在线支持