Kylin之快速入门

需求:实现按照维度(工作地点)统计员工信息

一、数据准备

在Hive中创建数据,分别创建部门和员工外部表,并向表中导入数据。

(1)原始数据/root/dept.txt文件和 /root/emp.txt文件  

(2)建表语句

创建部门表

create external table if not exists default.dept(
deptno int,
dname string,
loc int
)
row format delimited fields terminated by '\t';

创建员工表

create external table if not exists default.emp(
empno int,
ename string,
job string,
mgr int,
hiredate string, 
sal double, 
comm double,
deptno int)
row format delimited fields terminated by '\t';

(3)查看创建的表: show tables;

(4)向外部表中导入数据

导入数据

load data local inpath '/root/dept.txt' into table default.dept;
load data local inpath '/root/emp.txt' into table default.emp;

查询结果

hive (default)> select * from emp;
hive (default)> select * from dept;

二、创建项目

2.1、登录系统

2.2、创建工程 

1)点击图上所示“+”号

2)填入项目名及描述点击Submit

2.3、选择数据源

1)选择加载数据源方式

2)输入要作为数据源的表

3)查看数据源

三、创建Model

1)回到Models页面

2)点击New按钮后点击New Model

3)填写Model名称及描述后Next

4)选择事实表(先不要点Next)

5)添加维度表

6)选择添加的维度表及join字段 

7)选择维度信息

8)选择度量信息

9)添加分区信息及过滤条件之后“Save”(主要是增量表,此处先过)

10)创建Model完成

四、创建Cube

1)点击New按钮然后选择New Cube

2)选择Model及填写Cube Name

3)添加维度

4)添加需要做预计算的内容

5)动态更新相关(默认)

6)高阶模块(默认)

7)需要修改的配置(默认)

8)Cube信息展示

9)Cube配置完成

10)触发预计算

11)查看Build进度

12)构建Cube完成

FAQ:java.net.ConnectException: Call From node03/192.168.18.103 to 0.0.0.0:10020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

解决:报错信息提示,在访问端口 100020的时候出错,这表示DataNode 需要访问 MapReduce JobHistory Server,而默认值是: 0.0.0.0:10020 。在Master节点上找到{HADOOP_HOME}/etc/hadoop/mapred-site.xml配置文件 ,增加如下配置:

<property>
    <name>mapreduce.jobhistory.address</name>
    <!-- 配置实际的主机名和端口-->
    <value>{namenode}:10020</value>
</property> 

在namenode上执行命令:{hadoop_dir}/sbin/mr-jobhistory-daemon.sh start historyserver

五、Hive和Kylin性能对比

需求:根据部门名称[dname]统计员工薪资总数[sum(sal)]

5.1、Hive查询

hive> select dname,sum(sal) from emp e join dept d on e.deptno = d.deptno group by dname;

5.2、Kylin查询

1)进入Insight页面

2)在New Query中输入查询语句并Submit

select dname,sum(sal) from emp e join dept d on e.deptno = d.deptno group by dname;

 

3)数据图表展示及导出

4)图表展示之条形图

5)图表展示之饼图

 

 

发布了430 篇原创文章 · 获赞 364 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/lixinkuan328/article/details/104230304