`
qindongliang1922
  • 浏览: 2183687 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117522
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125921
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59896
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71300
社区版块
存档分类
最新评论

如何在kylin中构建一个cube

阅读更多





前面的文章介绍了Apache Kylin的安装及数据仓库里面的星型和雪花模型的概念,这篇文章我们来看下,如何构建一个kylin的cube进行查询。这里不得不吐槽一下Kylin的资料,少之又少出现问题网上基本找不到解决方案,所以想要学习kylin,建议大家买一本书系统的学习一下,这里推荐一本入门的书《基于Apache kylin构建大数据分析平台》,介绍的还可以。


下面来看下如何构建一个cube:

首先,我们要明白kylin的数据源主要来自Hive里面的各种表,如果想要进行测试,那么首先我们要在hive中有自己的表,注意,表的类型基本有两种,一种是事实表,一种是维度表,kylin使用的是星型模型,通常一个事实表会关联多个维度表,表的数据有了,下面就是通过kylin的ui界面来完成整个流程。除此之外keylin还支持从kafka构建流式表,由于使用场景比较少,这里就不讨论这个了。


下面通过一张图看下整个构建cube的操作流程:






(1) 登录7070端口下面的kylin的web管理页面,默认的用户名是KYLIN密码是ADMIN





(2)点击左上角的加号小按钮,新建一个工程





(3)选择这个工程,然后点击model面板,并点击Data Source面板,选择配置hive数据源,并加载需要用到的表同步到kylin里面






(4)点击Models,开始设计model,这个步骤主要是基础加工,配置一个事实表和多个维表以及他们的关联条件,和需要统计的维度和度量






(5)设计cube








(6)构建cube





(7)查看cule的构建进度





(8)最后查询cule数据




至此一整个的cuble构建流程完事,整体步骤还是比较多的,当然里面有一些步骤并没有说的那么详细,此外设计cuble的步骤有一些高级配置,对优化查询有着比较重要的作用,这块现在还没太深入,这个demo只是让我们有一个整体的认识,如果对高级的设计感兴趣的朋友可以看kylin的官网文档。


Kylin的本质是基于空间换时间的策略来实现亚秒级的查询,本身只是一个Server,充分利用了Hadoop+Hive来把结果集数据预构建到Hbase里来优化提高查询效率。所以想要使用Kylin必须保证你的Hadoop,Hive,Hbase已经安装,并且能正常使用。


构建cube的本质,其实就是把各种可能用到的查询,聚合,统计提前预计算好,然后按规则写入hbase,这样在查询的时候,基于rowkey的查询响应速度非常快,而且随着数据量的增大,查询响应时间基本是个常量,虽然查询很快,但是离线使用MapReduce来预构建cube的过程确实非常之慢,另外一个缺点是单kylin的server并发非常低,根据我们的测试也就40左右,大家可能有疑问,hbase本身支持的并发是非常强大的为什么到了kylin这里就这么低,其实kylin server服务不仅仅只是查询hbase的结果返回给前端,大部分时候都需要在server的内存里做各种运算,比如分页,排序,聚合等,所以如果大并发量一旦瞬间上来可把kylin server所在的tomcat的jvm内存给耗尽,最终导致任务失败或者服务挂掉。所以kylin的定位是给产品或者运营使用的大数据OLAP查询引擎,如果并发量比较高的业务,使用kylin一直要提前测试好,根据并发情况多部署几个kylin server服务。



总结:

总体来说,对于一些字段数固定且不经常改变schema的大表数据,采用kylin来进行OLAP查询是非常适合的,性能也不错,但是如果scheam经常变换,统计的维度和度量也可能变换这种场景是不太适合用kylin来解决的,可以尝试ES或者SOLR来分析,最后需要注意的事kylin的并发支持并不太好,非常高并发的查询服务,一定要严格测试后,多部署几个kylin server且做好读写分离,提交任务的server集群和查询server集群分开部署。



有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
技术债不能欠,健康债更不能欠, 求道之路,与君同行。

  • 大小: 10.8 KB
  • 大小: 33.9 KB
  • 大小: 25.3 KB
  • 大小: 27.2 KB
  • 大小: 63 KB
  • 大小: 14.3 KB
  • 大小: 43.4 KB
  • 大小: 28.3 KB
  • 大小: 70.1 KB
  • 大小: 80.9 KB
  • 大小: 7.8 KB
  • 大小: 13.1 KB
  • 大小: 149.2 KB
0
1
分享到:
评论

相关推荐

    Kylin on Parquet.pdf

    - **全步骤使用Spark**:构建Cube时的每一步都在Spark中执行,减少了对其他依赖的需求,简化了部署。 - **Spark参数的自适应调整**:Kylin on Parquet会自动根据集群状态调整Spark的相关配置参数。 - **分布式全局...

    Kylin安装学习教程_KYLIN_

    在Kylin中,一个项目是数据模型、Cube、源数据表和查询接口的集合。你需要创建一个新的Kylin项目,指定Hive或HBase的数据源,然后定义数据模型。数据模型分为事实表和维度表,它们对应于业务逻辑中的实体和属性。 ...

    Kylin安装包、安装文档

    Kylin 2.5.0版本是其发展中的一个重要里程碑,支持HBase 1.x版本,意味着更稳定的性能和更好的兼容性。 二、Kylin的系统需求 在安装Kylin之前,需要确保你的系统满足以下条件: 1. Java环境:Kylin需要Java 8或更...

    基于Apache Kylin 构建大数据分析平台

    总的来说,基于Apache Kylin构建大数据分析平台是一个涉及数据建模、性能优化、集成与安全等多个环节的过程。通过熟练掌握这些知识点,可以构建出高效、可扩展的数据分析平台,为企业提供强大的决策支持。

    Apache Kylin操作流程

    - 在构建Cube的过程中,合理选择筛选维度和计算维度对于提高查询性能至关重要。 - AutoMergeThresholds和RetentionThreshold的配置应根据实际数据量和业务需求来调整,以平衡存储空间和查询效率。 - 选择合适的执行...

    apache kylin操作使用教程

    在选择度量值时,应选择日期列作为度量值,这是因为Kylin在处理多维数据时需要一个时间维度来组织数据。 在创建Cube时,用户需要基于刚才创建的Model选择需要构建的Cube,并填写相关信息。Cube构建包含维度和度量的...

    Hive仓库的表要同步到Kylin中

    为了更好地利用Kylin的强大查询性能,通常需要将Hive中的数据同步至Kylin,并在此基础上构建Cube。 #### 二、基础知识概述 在深入了解Hive仓库表同步到Kylin的过程之前,我们需要先了解一下相关的基础概念: 1. *...

    Apache Kylin 2.0 之Spark构建引擎

    Apache Kylin 作为领先的大数据OLAP分析平台步入了2.0时代,正逐渐从Hadoop上的传统OLAP演变为一个实时数据仓库,新的版本支持灵活的雪花模型和更加全面的SQL语法,引入了更加先进的Spark Cubing构建引擎,更好地...

    Kylin多维分析 PDF 下载

    Kylin提供了一个基于Hadoop的分布式计算框架,设计目标是允许用户在超大型数据集上进行亚秒级查询。它采用预计算(即Cube)的方式,将复杂的数据聚合操作提前执行,将结果存储在易于查询的低维度结构中,从而显著...

    张如松-Apache-Kylin在贝壳找房的实践.pdf

    - **构建Cube**:基于整合后的数据,使用Kylin构建Cube,以便快速响应前端的查询请求。 - **实时监控**:通过Kylin提供的API,实时监控业务指标的变化情况,及时发现异常。 **3. 实践效果** - **查询性能提升**:...

    kylin 3.0.2下载

    存储引擎:构建好的Cube以Key-Value形式存储在HBase中,通过优化Rowkey加速查询。每一种维度的排列组合计算结果被保存为一个物化视图,叫做Cuboid. 优化算法:Cube本身是空间换时间,也会根据算法,剪枝优化掉一些...

    大数据技术之Kylin视频教程

    Apache Kylin是一个开源的分布式分析引擎,为大数据开发人员提供Hadoop/Spark之上的SQL查询接口,以及支持超大规模数据集的多维分析能力,在大数据领域有着广泛的应用,是大数据开发人员的必备技能之一。 本套视频...

    kylin 测试数据

    Kylin,源自LinkedIn的一个开源项目,是一款高度可扩展的、高性能的OLAP(在线分析处理)系统,专为大数据分析而设计。它能够与Hadoop生态系统深度集成,提供亚秒级的查询响应时间,使得在海量数据上进行实时分析...

    kylin+Kafka实现流式计算

    2. **数据读取与存储**:为每个Kafka分区启动一个Mapper任务,负责读取消息并将这些消息保存到HDFS。 3. **原有框架的兼容性**:Kylin保留了原有的处理框架,这意味着它具有很好的可扩展性和容错性。 #### 五、...

    Kylin使用之权威指南

    4. **构建与发布Cube**:介绍如何在Kylin中创建Cube,设置度量、维度、过滤条件,并进行Cube构建和优化。理解Cube构建过程中的预计算、分段以及合并策略。 5. **查询与接口**:讲解如何使用SQL接口进行查询,以及...

    kylin简单介绍

    为了更好地适应大数据环境,Kylin 选择了从 Hadoop 生态中使用最广泛的 Hive 中读取源数据,并使用 MapReduce 作为 Cube 构建的引擎,同时将预计算的结果保存在 HBase 中。Kylin 对外提供了 RestAPI/JDBC/ODBC 查询...

    Apache Kylin权威指南.pdf 高清完整版

    通过以上章节的详细解读,我们可以了解到 Apache Kylin 不仅是一个强大的大数据分析引擎,而且在多个方面都提供了丰富的功能和支持,使得用户能够高效地处理和分析大规模数据集。无论是对于初学者还是经验丰富的数据...

    apache-kylin-3.0.1-bin.tar.gz-安装包

    安装Apache Kylin 3.0.1时,需要遵循官方文档的步骤,包括配置环境变量、解压安装包、初始化数据库、创建Kylin实例、配置数据源、构建Cube并测试查询性能。在整个过程中,理解Kylin的工作原理和组件间的交互对于成功...

    ---Kylin在小米大数据中的应用-陈学辉-20190413.pdf

    1. Kylin架构与原理:Kylin是一个多维分析引擎,其核心是采用预计算的方式将数据组织成Cube结构,以便进行快速查询。它允许用户将复杂的SQL查询转换为对Cube的简单查询,通过减少实时计算量来提升查询性能。 2. ...

    Apache Kylin权威指南

    书中会通过实例演示如何在Kylin中定义和构建Cube,并且讲解了如何处理复杂的数据模型和维度。 在查询和性能优化方面,《Apache Kylin权威指南》提供了丰富的实战经验。书中有详尽的SQL查询语法介绍,包括如何使用...

Global site tag (gtag.js) - Google Analytics