当前位置: 首页>数据库>正文

kylin安装python11 kylin update

  • Apache Kylin 是什么?

Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

  • Apache Kylin框架介绍

Apache kylin 能提供低延迟(sub-second latency)的秘诀就是预计算,即针对一个星型拓扑结构的数据立方体,预计算多个维度组合的度量,然后将结果保存在hbase中,对外暴露JDBC、ODBC、Rest API的查询接口,即可实现实时查询。Kylin从Hadoop Hive中获取数据,然后经过Cube Build Engine,将Hive中的数据Build成一个OLAP Cube保存在HBase中。用户执行SQL查询时,通过Query引擎,将SQL语句解析成OLAP Cube查询,然后将结果返回给用户。

  • Apache Kylin核心概念
  1. 表(table):This is definition of hive tables as source of cubes,在build cube 之前,必须同步在 kylin中。
  2. 模型(model):模型描述了一个星型模式的数据结构,它定义了一个事实表(Fact Table)和多个查找表(Lookup Table)的连接和过滤关系。
  3. Cube 描述:描述一个Cube实例的定义和配置选项,包括使用了哪个数据模型、包含哪些维度和度量、如何将数据进行分区、如何处理自动合并等等。
  4. Cube实例:通过Cube描述Build得到,包含一个或者多个Cube Segment。
  5. 分区(Partition):用户可以在Cube描述中使用一个DATA/STRING的列作为分区的列,从而将一个Cube按照日期分割成多个segment。
  6. 立方体段(cube segment):它是立方体构建(build)后的数据载体,一个 segment 映射hbase中的一张表,立方体实例构建(build)后,会产生一个新的segment,一旦某个已经构建的立方体的原始数据发生变化,只需刷新(fresh)变化的时间段所关联的segment即可。
  7. 聚合组:每一个聚合组是一个维度的子集,在内部通过组合构建cuboid。
  8. 作业(job):对立方体实例发出构建(build)请求后,会产生一个作业。该作业记录了立方体实例build时的每一步任务信息。作业的状态信息反映构建立方体实例的结果信息。如作业执行的状态信息为RUNNING 时,表明立方体实例正在被构建;若作业状态信息为FINISHED ,表明立方体实例构建成功;若作业状态信息为ERROR ,表明立方体实例构建失败!
  • 样例 Cube 快速入门

执行$KYLIN_HOME/bin/sample.sh,等待脚本执行完毕,导入学习工程,Kylin 提供了一个创建样例 Cube 脚本;脚本会创建五个样例 Hive 表,该表主要是记录销售信息数据。我们将基于该表进行销售相关信息进行分析。

导入学习工程后需要重新加载元素据或者是重启kylin服务才能使工程生效。这里我们采用重新加载的方式来进行处理。

kylin安装python11 kylin update,kylin安装python11 kylin update_SQL,第1张

访问主机: http://hostname:7070,用默认的用户名和密码 ADMIN/KYLIN 登陆 Kylin 网站

kylin安装python11 kylin update,kylin安装python11 kylin update_SQL_02,第2张

选择 project 下拉框(左上角)中的 learn_kylin 工程;可以看到该项目下存在刚刚导入的Hive库。

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin_03,第3张

连接一下Hive库,查看Hive default库中的表,存在上面的五张表

kylin安装python11 kylin update,kylin安装python11 kylin update_SQL_04,第4张

进入kylin Web界面登录 》System 》reload metadata,重新加载元素据。

kylin安装python11 kylin update,kylin安装python11 kylin update_大数据_05,第5张

执行完成后可以查看导入模型,存在两个模型,本次我们主要是学习“kylin_sales_cube”

kylin安装python11 kylin update,kylin安装python11 kylin update_SQL_06,第6张

选择该数据模型,点击“Build”构建cube。

kylin安装python11 kylin update,kylin安装python11 kylin update_数据_07,第7张

选择数据分区范围,选择一个在 2014-01-01 之后的日期(覆盖所有的 10000 样例记录)。

kylin安装python11 kylin update,kylin安装python11 kylin update_SQL_08,第8张

点击monitor,查看正在构建cube的作业,刷新查看构建进度,等待构建完成
这一步会比较耗时,因为这步会进行预计算,默认是MapReduce作业。

kylin安装python11 kylin update,kylin安装python11 kylin update_数据_09,第9张

如果长时间没有完成,请再次点击刷新,状态信息会更新,期间遇到错误如下所示:

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin安装python11_10,第10张

经查看是由于hadoop的历史任务服务器没有启动导致,执行命令开启 

$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver

jps检测是否有JobHistoryServer进程,存在进程则证明启动成功

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin_11,第11张

启动后可以,点击“ACTION”下面有个“PENDING”选项可以恢复再次运行的状态。

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin_12,第12张

构建完成

kylin安装python11 kylin update,kylin安装python11 kylin update_大数据_13,第13张

查询构建完成的cube,在“Insight”选项卡中执行SQL,首先我们执行一条SQL用来统计“KYLIN_SALES”表的数目。

select count(*) from KYLIN_SALES

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin_14,第14张

执行结果耗时1.77秒

kylin安装python11 kylin update,kylin安装python11 kylin update_数据_15,第15张

再次执行耗时就非常快了,第四次执行耗时0.11秒

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin_16,第16张

接下来我们执行一条业务分析的SQL,用来统计每日销售总金额和购买人数量。执行结果,结果展示较快

select part_dt, sum(price) as total_sold, count(distinct seller_id) as sellers

from kylin_sales group by part_dt order by part_dt

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin_17,第17张

基于上面的SQL再次进行扩展,进行多表关联,对销售数据进行多维分析,查看不同分类下商品的销售情况。查看多表关联查询结果,速度依然很快。

SELECT sum(KYLIN_SALES.PRICE) AS price_sum,

       KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,

       KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME

FROM KYLIN_SALES

INNER JOIN KYLIN_CATEGORY_GROUPINGS ON KYLIN_SALES.LEAF_CATEG_ID = KYLIN_CATEGORY_GROUPINGS.LEAF_CATEG_ID

AND KYLIN_SALES.LSTG_SITE_ID = KYLIN_CATEGORY_GROUPINGS.SITE_ID

GROUP BY KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME,

         KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME

ORDER BY KYLIN_CATEGORY_GROUPINGS.META_CATEG_NAME ASC,

         KYLIN_CATEGORY_GROUPINGS.CATEG_LVL2_NAME DESC

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin_18,第18张

点击Visualization 可视化展示,用户可以选择“图形类型”,“维度”和“度量”。

kylin安装python11 kylin update,kylin安装python11 kylin update_kylin_19,第19张

 


https://www.xamrdz.com/database/6by1924655.html

相关文章: