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

简介: 本文是《CDH+Kylin三部曲》系列的终篇,一起来实践kylin官方的demo

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码): https://github.com/zq2599/blog_demos
  • 本文是《CDH+Kylin三部曲》系列的终篇,先简单回顾前面的内容:
  1. 《CDH+Kylin三部曲之一:准备工作》:准备好机器、脚本、安装包;
  2. 《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网页:http://192.168.50.134: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查询结果一致):

在这里插入图片描述

  • 接下来开始构建Cube:

在这里插入图片描述

  • 日期范围,刚才Hive查询结果是2012-01-012014-01-01,注意截止日期要超过2014-01-01:

在这里插入图片描述

  • 在Monitor页面可见进度:

在这里插入图片描述

  • 去Yarn页面(CDH服务器的8088端口),可以看到对应的任务和资源使用情况:

在这里插入图片描述

  • build完成后,会出现ready图标:

在这里插入图片描述

查询

  • 先尝试查询交易的最早和最晚时间,这个查询在Hive上执行的耗时是18.87秒,如下图,结果一致,耗时0.14秒

在这里插入图片描述

  • 下面这个SQL是Kylin官方示例用来对比响应时间的,对订单按日期聚合,再按日期排序,然后接下来分别用Kylin和Hive查询:
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查询耗时0.13秒

在这里插入图片描述

  • Hive查询,结果相同,耗时40.196秒

在这里插入图片描述

  • 最后来看下资源使用情况,Cube构建过程中,18G内存被使用:

在这里插入图片描述

  • 至此,CDH+Kylin从部署到体验就已完成,《CDH+Kylin三部曲》系列也结束了,如果您正在学习Kylin,希望本文能够给您一些参考。

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关文章
|
存储 固态存储 关系型数据库
Apache Doris 系列: 入门篇-安装部署
Apache Doris 系列: 入门篇-安装部署
1781 0
|
消息中间件 SQL 运维
【大数据开发运维解决方案】hadoop+kylin安装及官方cube/steam cube案例文档
对于hadoop+kylin的安装过程在上一篇文章已经详细的写了, 请读者先看完上一篇文章再看本本篇文章,本文主要大致介绍kylin官官方提供的常规批量cube创建和kafka+kylin流式构建cube(steam cube)的操作过程,具体详细过程请看官方文档。
【大数据开发运维解决方案】hadoop+kylin安装及官方cube/steam cube案例文档
|
SQL 分布式计算 资源调度
CDH+Kylin三部曲之一:准备工作
本文是《CDH+Kylin三部曲》的第一篇,主要是为后面的安装和启动做好准备工作
189 6
CDH+Kylin三部曲之一:准备工作
|
SQL 分布式计算 资源调度
CDH+Kylin三部曲之二:部署和设置
上一篇文章完成了所有准备工作,现在可以来部署和启动Kylin了
211 5
CDH+Kylin三部曲之二:部署和设置
|
SQL 存储 分布式计算
工良出品:包教会,Hadoop、Hive 搭建部署简易教程
导读 Hadoop、Hive 是什么 运行环境 Java 环境 Mysql 下载 Hadoop、Hive 和 驱动 安装 Hadoop core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml hadoop-env.cmd 启动 Hadoop 安装 Hive 配置 Hive hive-env.sh hive-site.xml 运行 Hive 连接到 Hive
399 0
|
SQL 分布式计算 Hadoop
Kylin的入门实战
Kylin 是一个 Hadoop 生态圈下的 MOLAP 系统,是 ebay 大数据部门从2014 年开始研发的支持 TB 到 PB 级别数据量的分布式 Olap 分析引擎。
382 0
Kylin的入门实战
|
Java 流计算
flink 自制parcels 包集成CDH
flink 自制parcels 包集成CDH
flink 自制parcels 包集成CDH
|
SQL 分布式计算 大数据
BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略
BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略
BigData:大数据开发的简介、核心知识(linux基础+Java/Python编程语言+Hadoop{HDFS、HBase、Hive}+Docker)、经典场景应用之详细攻略
|
存储 SQL 分布式计算
Sqoop简介及安装部署
Apache Sqoop是专为Apache Hadoop和结构化数据存储如关系数据库之间的数据转换工具的有效工具。你可以使用Sqoop从外部结构化数据存储的数据导入到Hadoop分布式文件系统或相关系统如Hive和HBase。相反,Sqoop可以用来从Hadoop的数据提取和导出到外部结构化数据存储如关系数据库和企业数据仓库。 Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
246 0
|
消息中间件 机器学习/深度学习 分布式计算
BigData之Storm:Apache Storm的简介、深入理解、下载、案例应用之详细攻略
BigData之Storm:Apache Storm的简介、深入理解、下载、案例应用之详细攻略