美文网首页
Apache Kylin 5 概览

Apache Kylin 5 概览

作者: 老羊_肖恩 | 来源:发表于2023-01-07 18:45 被阅读0次

      Apache Kylin是一个领先的大数据开源OLAP引擎,能够对数万亿条记录进行亚秒级延迟地查询。2014年由eBay创建并开源,2015年毕业于Apache软件基金会顶级项目。Kylin作为大数据的关键分析应用程序,目前已被全球数千家组织采用。Kylin主要具有以下优势:

    • 高性能,万亿级数据下亚秒级查询时延
    • 统一的大数据仓库架构
    • 与BI工具无缝集成
    • 全面的Enterprise-Ready就绪能力

      Kylin5是目前Apache Kylin的最新版本,目前应该处于公测阶段,还不是stable版本。该版本相较于之前的版本有着革命性的变革。我对比了一下目前最新的Kylin5与企业版本的Kyligence,总结下来就是目前的Kylin5是Kyligence剥去了Intelligence之后的保留最原始Apache Kylin那部分功能的删减版。话不多说,接下来带各位初体验一把最新的Kylin5的新特性。

    部署和启动

      本人偷了个懒,直接就使用了docker去安装Kylin5,官方文档提供了多种安装方式,具可以参考官方提供的文档https://kylin.apache.org/5.0/docs/quickstart/deploy_kylin。docker部署kylin5的命令如下:

    docker pull apachekylin/apache-kylin-standalone:5.0.0
    

    这个镜像拉取的过程可能比较漫长,大小大概是4G左右,因此建议使用国内的docker镜像仓库进行拉取,速度可能会快点。下载完成之后,我们可以使用docker images命令确认一些是否拉取完成。

    >> docker images
    
    REPOSITORY                            TAG           IMAGE ID       CREATED        SIZE
    neo4j                                 5-community   f6f56e3bbddc   3 weeks ago    541MB
    clickhouse/clickhouse-server          latest        8fdcf86e6769   5 weeks ago    890MB
    apachekylin/apache-kylin-standalone   5.0.0         71e8c2c79ceb   3 months ago   3.96GB
    mysql                                 8.0.29        7e7e458be53c   6 months ago   444MB
    

      镜像拉取完成之后能,我们就可以通过启动命令来启动一个Kylin5的容器了,启动命令如下:

    docker run -d \
    -m 8G \
    -p 7070:7070 \
    -p 8088:8088 \
    -p 8032:8032 \
    -p 8042:8042 \
    -p 2181:2181 \
    -p 10000:10000 \
    apachekylin/apache-kylin-standalone:5.0.0
    

    这个时候我们就发现,Kylin5我们起起来啦。

    containers
    然后通过http://localhost:7070/kylin就可以访问Kylin的操作管理页面了。第一次进入的时候需要进行用户名和密码的登录,初始账密为ADMIN/KYLIN。
    Login
    登录进去之后我们看到的就是Kylin5的首页。
    kylin5

    Kylin5右侧提供的功能主要包括:

    • Query:主要提供insight和history两种功能。通过insight可以方面查看每条sql的查询过程,查询结果,效率,以及是否命中索引,是否下压到hive等。history主要是展示当前Kylin对外提供的所有SQL查询的历史列表,包括sql内容,查询时间,是否命中索引等
    • Data Assert:主要用于数据资产管理,包括新增数据源,目前开源版本只支持hive,企业版还支持Kafka,这个暂时不说。然后就是对数据表的一些元数据的管理,包括实际数据的采样等。还要就是管理Kylin的核心——模型。Kylin只有构建过模型和索引之后,才能实现对外提供压秒级的数据查询性能,否则会被下压至hive、impala等OLAP引擎进行即席查询。
    • Monitor:主要用于监控模型和索引的构建,展示构建模型和索引的Job的状态、时间、存储占用等信息。
    • Setting:对项目进行设置,包括基础设置,下压设置以及segments设置等。

    添加数据源

      在query和DataAssert中都可以去添加新的数据源,目前开源版本只支持hive,商业版本是除了支持hive导入还支持对接Kafka进行实时数据源的接入。

    add source

      我们可以在界面上查看hive库这些表的基本元数据信息,也可以通过sample样本来查看若干条数据记录的真是情况。

    Load Tables Data Source

    Query

      Query提供了两个基本功能,insight和history,insight用于对某条sql的查询效果和结果进行分析。history展示了当前Kylin服务对外接受到的SQL查询历史。在企业版Kyligence中,针对每条查询历史,Kyligence会给出相应的模型优化建议,这个是目前开源版本里所没有的。

    SQL Query history

    建模

      当数据源接入之后,就可以针对当前接入的数据表进行建模。Kylin5摒弃了前面构建cube的概念,取而代之的是Kyligence中index的概念,也就说建模的最终目的就是为了构建索引。前面我们说过,在Kyligence的商业版本中,会根据SQL查询的历史给出索引构建的建议。建模的过程主要就是选择事实表和维度表,确定维度和指标信息,然后根据要求构建相应的索引,以达到预计算的目的。

    add model modeling

      当事实表和维度表确定之后,根据索要建立的索引要求,Kylin后端就开始跑Job去构建索引,通过monitor我们可以查看这些后台任务的实时状态,对这些Job进行相应的调整。

    build model monitor

      以上关于Kylin5进行了一个简单的介绍,个人感觉呢,Kylin5就是Kyligence拿掉了智能推荐那部分功能之后的删减版,因为Kyligence的企业版本可以根据用户的SQL查询历史给出模型和index的构建建议,从而省去了用户自主建模时对业务不清晰导致的模型不完善问题。好了以上就是关于Kylin5的简单介绍,个人感觉后期开源的Kylin会逐渐朝着商业版Kyligence的目前去发展,希望Kylin越来越好。

    参考

    1. https://kylin.apache.org/5.0/

    相关文章

      网友评论

          本文标题:Apache Kylin 5 概览

          本文链接:https://www.haomeiwen.com/subject/hgfecdtx.html