CDH+Kylin三部曲之三:Kylin官方demo

欢迎访问我的GitHub

https://github.com/zq2599/blog_demos

内容:所有原创文章分类汇总及配套源码,涉及Java、Docker、Kubernetes、DevOPS等;

本文是《CDH+Kylin三部曲》系列的终篇,先简单回顾前面的内容:

《CDH+Kylin三部曲之一:准备工作》:准备好机器、脚本、安装包;

《CDH+Kylin三部曲之二:部署和设置》:完成CDH和Kylin部署,并在管理页面做好相关的设置;

现在Hadoop、Kylin都就绪了,接下来实践Kylin的官方demo

Yarn参数设置

Yarn的内存参数设置之后一定要重启Yarn使之生效,否则Kylin提交的任务是会由于资源限制而无法执行;

关于Kylin官方demo

下图是官方demo的脚本的一部分(create_sample_tables.sql),基于HDFS数据创建Hive表:

在这里插入图片描述

通过脚本可见KYLIN_SALES为事实表,其他是维度表,并且KYLIN_ACCOUNT和KYLIN_COUNTRY存在关联,因此维度模型符合Snowflake Schema;

导入样例数据

SSH登录CDH服务器

切换到hdfs账号:su - hdfs

执行导入命令:${KYLIN_HOME}/bin/sample.sh

导入成功,控制台输出如下:

在这里插入图片描述

检查数据

检查数据,执行beeline进入会话模式(hive官方推荐用beeline取代Hive CLI):

在这里插入图片描述

在beeline会话模式输入链接URL:!connect jdbc:hive2://localhost:10000,按照提示输入账号hdfs,密码直接回车:

在这里插入图片描述

用命令show tables查看当前的hive表,已建好:

在这里插入图片描述

查出订单的最早和最晚时间,后面构建Cube的时候会用到,执行SQL:select min(PART_DT), max(PART_DT) from kylin_sales; ,可见最早2012-01-01,最晚2014-01-01,整个查询耗时18.87秒:

在这里插入图片描述

构建Cube:

数据准备完成,可以构建Kylin Cube了:

登录Kylin网页::7070/kylin

加载Meta数据,如下图:

在这里插入图片描述

如下图红框所示,数据加载成功:

在这里插入图片描述

在Model页面可以看到事实表和维度表,如下图的操作可以创建一个MapReduce任务,计算维度表KYLIN_ACCOUNT每个列的基数(Cardinality):

在这里插入图片描述

去Yarn页面(CDH服务器的8088端口),如下图,可见有个MapReduce类型的任务正在执行中:

在这里插入图片描述

上述任务很快就能完成(10多秒),此时刷新Kylin页面,可见KYLIN_ACCOUNT表的Cardinality数据已经计算完成了(hive查询得到ACCOUNT_ID数量是10000,但下图的Cardinality值为10420,Kylin对Cardinality的计算采用的是HyperLogLog的近似算法,与精确值有误差,其他四个字段的Cardinality与Hive查询结果一致):

在这里插入图片描述

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjdpx.html