推荐一款可视化+NoteBook工具

大数据平台搭建好后,我们要做的就是探索数据,探索数据就需要查询,做可视化,那么一款好用自助查询可视化工具,你值得拥有!

一、Zeppelin介绍

Apache Zeppelin是一个让交互式数据分析变得可行的基于网页的开源框架。Zeppelin提供了数据分析、数据可视化等功能。

Zeppelin 是一个提供交互数据分析且基于Web的笔记本。方便你做出可数据驱动的、可交互且可协作的精美文档,并且支持多种语言,包括 Scala(使用 Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、Hbase、 Markdown、Shell、MySQL、postgresql、JDBC等等。

推荐一款可视化+NoteBook工具

Zeppelin提供了Interpreter(解释器)来连接各种数据源,也根据提供的API可以开发新的interpreter。

二、软件部署

环境

下载zeppelin-XX-bin-all.tgz,拷贝到准备部署的主机上,然后解压。

tar –zxvf zeppelin-XX-bin-all.tgz

解压后看到目录结构如下:

推荐一款可视化+NoteBook工具

配置Java环境变量

copy原来的conf/zeppelin-env.sh.template命名为zeppelin-env.sh,在conf/zeppelin-env.sh添加Java路径。

推荐一款可视化+NoteBook工具

配置地址端口号

copy 原来的conf/zeppelin-site.xml.template修改配置文件conf/zeppelin-site.xml。默认端口是8080,如果8080端口没有被占用,也可以使用默认端口,不用修改。

推荐一款可视化+NoteBook工具

启动

bin/zeppelin-daemon.sh start,查看日志,首次启动会创建日志目录

推荐一款可视化+NoteBook工具

启动成功,打开前台web页面 172.1.1.1:8888

推荐一款可视化+NoteBook工具

新建notebook,测试(默认为Scala语言)

推荐一款可视化+NoteBook工具

三、连接hive数据仓库

配置interpreter

在前台页面打开interpreter,找到JDBC,配置参数

推荐一款可视化+NoteBook工具

HiveServer2 的用户名和密码可以通过编辑 $HIVE_HOME/conf/hive-site.xml 属性:

• hive.server2.thrift.client.user

• hive.server2.thrift.client.password

如果没有配置该属性,那么上面的interpreter参数中的用户和密码可以不用配置。

下面就可以使用Zeppelin连接hive进行查询,首先新建一个notebook:

推荐一款可视化+NoteBook工具

验证是否成功连接hive,输入:show databases,运行如下:

推荐一款可视化+NoteBook工具

输入查询SQL脚本,运行如下图:

  • keys:指横轴
  • Values:指纵轴

可以通过拖拉方式指定Key和Values(横轴纵轴的比例是自适应的)

推荐一款可视化+NoteBook工具

其中可视化的表现形式可以选择:

推荐一款可视化+NoteBook工具

四、权限设置

在登录的时候我们发现Zeppelin默认登录时不需要输入用户名密码的,也就是匿名登录模式anonymous,通过查看配置文件conf/zeppelin-site.xml可以发现,默认配置的是允许匿名访问。

推荐一款可视化+NoteBook工具

如何修改权限呢?

  • 首先我们修改该配置zeppelin.anonymous.allowed的value为false,表示不允许匿名访问
  • conf/shiro.ini文件,显然zeppelin采用了shiro作为他的验证登录权限控制框架,修改文件最后一行

推荐一款可视化+NoteBook工具

把/=anon修改为/=authc,这样重启zeppelin后访问我们的zeppelin主页就变成这个样子了。(注意右上角编程了login)

推荐一款可视化+NoteBook工具

看见右上角的Login按钮了吧,点击login但是没有发现注册按钮。

推荐一款可视化+NoteBook工具

  • 需要修改conf/shiro.ini配置文件,其实Zeppelin已经给你配好了几个用户,再次再新增一个用户

推荐一款可视化+NoteBook工具

然后重启Zeppelin,点击login登录,输入刚才的账号密码登录,可以看到登录上去了。

推荐一款可视化+NoteBook工具

当然权限控制远不止如此。比如:

打开刚才的notebook,可以看到右上角有一个小锁的标志,点击,可以输入对应的用户对该notebook操作权限。

推荐一款可视化+NoteBook工具

使用其他用户登录会提示没有权限

推荐一款可视化+NoteBook工具

可以看到可以对每一个notebook进行权限控制,这样在分享自己的分析结果中很方便。

五、总结

Zeppelin的解释器设计非常巧妙,及时官方没有,你也可以开发自己的解释器(现在已经很完善,支持各种连接)。zeppelin支持MD、shell、python、R、SQL、scala等多种语言,在notebook中可以使用多种语言结合markdown和可视化在探索数据后,随即做一个很漂亮的分析报告,不用再机芯数据导出,数据可视化,多个工具之间进行迁移,大大提高工作效率。对于分析团队很有必要引入一下该组件,新的分析团队成员再也不用担心开发环境配置了~

上一篇:Hive改表结构的两个坑|避坑指南


下一篇:畅想数据湖