推荐一款可视化的 Notebook 工具

Python中文社区

共 2422字,需浏览 5分钟

 ·

2020-08-21 14:46

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

一、Zeppelin介绍

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

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


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

二、软件部署

环境

  • jdk

  • 最新版本的Zeppelin(http://zeppelin.apache.org/download.html)

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

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

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



配置Java环境变量

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

配置地址端口号

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

启动

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

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

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

三、连接hive数据仓库

配置interpreter

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


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

• hive.server2.thrift.client.user

• hive.server2.thrift.client.password

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

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

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

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

  • keys:指横轴

  • Values:指纵轴

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

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

四、权限设置

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

如何修改权限呢?

  • 首先我们修改该配置zeppelin.anonymous.allowed的value为false,表示不允许匿名访问

  • conf/shiro.ini文件,显然zeppelin采用了shiro作为他的验证登录权限控制框架,修改文件最后一行

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

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

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

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

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

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

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


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

五、总结

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


Python中文社区作为一个去中心化的全球技术社区,以成为全球20万Python中文开发者的精神部落为愿景,目前覆盖各大主流媒体和协作平台,与阿里、腾讯、百度、微软、亚马逊、开源中国、CSDN等业界知名公司和技术社区建立了广泛的联系,拥有来自十多个国家和地区数万名登记会员,会员来自以工信部、清华大学、北京大学、北京邮电大学、中国人民银行、中科院、中金、华为、BAT、谷歌、微软等为代表的政府机关、科研单位、金融机构以及海内外知名公司,全平台近20万开发者关注。

长按扫码添加“Python小助手” 

进入 P Y 交 流 群

▼点击成为社区会员   喜欢就点个在看吧

浏览 49
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报