惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
D
DataBreaches.Net
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
The GitHub Blog
The GitHub Blog
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
A
About on SuperTechFans
Vercel News
Vercel News
L
LangChain Blog
B
Blog RSS Feed
Y
Y Combinator Blog
IT之家
IT之家
H
Hackread – Cybersecurity News, Data Breaches, AI and More
GbyAI
GbyAI
V
V2EX
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
有赞技术团队
有赞技术团队
D
Docker
V
Visual Studio Blog
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
月光博客
月光博客

热爱生活与梦想

迁移LeanCloud的Waline评论数据到TiDB/Neon 25年江浙地区暑假自驾游之感慨 使用阿里云灵码继续完成构建 SSL 证书管理器 亲手给儿子做的棒棒糖摩天轮六一礼物 使用腾讯云 CodeBuddy 构建 SSL 证书管理器 修复代码块默认高度相关缺陷 HugoNexT4.7.2 新功能和升级提示 改善代码块折叠和选中功能 支持Github风格的警告样式 新增音乐短代码功能支持 给文章添加摘要和过期提示功能 回顾24年的过去总结 修复Mathjax行内显示公式的问题 给Hugo文章增加阅读更多跳转的锚点定位功能 Win10隐匿的VPN设置和L2TP连接常见错误 Go语言中“糟糕”的日期时间格式化设计 DaoCloud道客提供的免费Docker镜像代理服务 感谢万能淘宝让自己吃到喜欢的美食 WSL运行时遇到未知异常错误无法使用 隐藏的换行符导致Base64加密解密失败 MySQL自带客户端直接免密登录操作 Linux系统中删除目录软链接的注意项 Java程序调用外网API时CA问题 如何不关机重启WSL2恢复虚拟服务 在Windows上安装Podman容器平台做虚拟化 记一次无法弹出移动硬盘的记录 为友情链接添加自动检测脚本 重新激活Github的2FA认证 Linux中使用tar压缩命令排除文件 继续小米手环的健康生活之旅
本地部署Zeppelin集成Kylin制作数据分析
凡梦星尘 · 2019-06-07 · via 热爱生活与梦想

通过Kylin自带的简单图表展示来进行数据分析的你是否觉得还不够过瘾?想在酷炫的仪表盘上进行数据分析?今天就给大家带来一款上手较快,简单易用的数据驱动式Notebook工具——Apache Zeppelin。将Zeppelin与Kylin 集成后,你就可以通过它来定制你的数据可视化报告,更直观地体验Kylin的分析“神”速啦~

Kylin一样, ApacheZeppelin也是 Apache 软件基金会的顶级项目,是一款基于Web的Notebook(类似于IPython的Notebook),支持友好交互式的数据分析体验,原生就支持Spark、Scala、SQL、Shell、Markdown等编程或脚本语言,可以访问其官方网站 Apache Zeppelin 了解更多的信息。

Zeppelin也有一套类似Kylin的可插拔框架机制,为不同的编程或脚本语言提供对应的解释器接口,实际使用过程中通过(%+解释器名称)来识别,因此在下载页面可看到有两个不同的版本:

  • all 版本:软件包里面包含Zeppelin支持的所有编程语言的解释器。
  • netinst 版本:软件包里面只包含了Spark、Shell等基础编程语言的解释器,其它语言解释器可按需安装。netinst的含义即是通过网络安装。

建议下载 netinst 版本的软件包,其它编程或脚本语言可通过插件安装方式扩展,通过SSH终端工具上传到虚拟电脑,或者直接在虚拟电脑上通过wget/curl命令下载到本地。

然后,解压Zeppelin软件包到自定义的安装目录下面,进入到 conf 文件夹下,将原有的zeppelin-site.xml.template配置文件拷贝另存名称为zeppelin-site.xml文件。该文件中主要包括Zeppelin服务相关的配置项,如对外访问端口默认为**8080**,可修改成自定义的端口号,其它参数配置也可按实际情况进行修改。更加详细的参数配置说明,可访问官方提供的说明 zeppelin-configuration 。完成配置参数自定义修改后,重新切换到Zeppelin安装目录,执行如下的命令,便以后台常驻形式启动Zeppelin服务:

1
[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh start

最后,打开浏览器在地址栏中输入:http://虚拟电脑IP地址:8080/,敲下回车键,即可成功访问和使用Zeppelin服务。

集成Kylin

手动添加Kylin的解释器,在Zeppelin的安装目录下执行如下的命令进行安装操作,安装完成后需要重启Zeppelin服务。

1
2
3
[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/install-interpreter.sh --name Kylin --artifact org.apache.zeppelin:zeppelin-kylin:0.8.1

[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh restart

然后,对Kylin的解释器进行相关配置,通过浏览器访问并打开Zeppelin的Notebook 页面,在页面左上角的菜单进入到解释器的配置页面找到Kylin标题,将KylinREST API 相关的信息进行配置,如 API 地址、用户名、密码等信息,可参考下图所示:

Zeppelin中Kylin配置

配置解析器

最后,可创建一个简单的 Notebook 进行初步的验证。创建新的Notebook需要填充2个关键的参数:Note Name(支持目录级创建),默认的解释器类型(不需要添加 %+ 解释器,这里选取Kylin),如下图所示:

Zeppelin解释器配置

创建Notebook

接着在代码段输入查询SQL语句,点击右上角的执行按钮即可得到如下图所示的结果:

Zeppelin查询效果

制作仪表盘

设计定制化的数据报表之前,需要先来熟悉下Zeppelin的 Notebook UI 界面布局。前面集成Kylin操作中已经提及到创建 Notebook 的操作,正如“创建 Notebook”图中所示,通过 Notebook 下拉菜单,可以有如下的操作:

  • Create new notebook
  • Filter
  • Folder/notebook

ZeppelinNotebook是由不同的段落(卡片)组合而成的,创建好一个新的Notebook后,默认也会创建一个新的卡片,执行查询后在界面上可清晰看到如下图所示的区域划分:

Zeppelin卡片划分

Notebook 区域划分:

  • 绿色: 功能区域,包括执行、展开/收缩、显示/隐藏、设置等操作
  • 红色: 代码(SQL 语句)编辑区域
  • 黄色: 可视化显示类型区域,切换不同的显示方式
  • 黑色: 结果显示设置区域,针对不同的显示效果做相应的设置调整
  • 蓝色: 可视化结果显示区域

注:Zeppelin 的卡片不支持直接拖拽排列布局,需要通过功能区来操作(或是快捷键按钮),关于功能区域各按钮作用说明可参考官方网站说明: explore_ui.html#note-toolbar

在了解清楚ZeppelinNotebook 的布局和使用后,可得知通过不同卡片的组合就能轻松实现定制化的数据报表,那么只需要根据自己的想法来创建不同类型的数据卡片,最终形成与自己想法一致的数据仪表盘,通过Zeppelin的 Report 模式发布后可直接访问,如下图所示。

Zeppelin仪表盘效果

扩展插件

Zeppelin 自带的可视化图形并不是很丰富,只有常见的 5 种类型,包括有表格、柱形图、饼图、面积图、折线图和散点图。这些图形常常不能满足我们做定制化报表的需求,Zeppelin 提供了基于 Helium 框架来丰富可视化组件的方式,扩展操作也是相当的方便,在页面右上角的下拉菜单中找到 Helium,点击跳转到 Helium 可视化组件列表页面。浏览并找到所需要的可视化类型,点击右侧的 Enable 按钮并在弹出的窗口中点击 OK 按钮,稍等一会便可完成新的可视化组件的扩展,如下图所示:

Zeppelin扩展插件

注意,新开启的可视化组件需要重启后才能生效,在Zeppelin安装目录下执行如下命令进行重启,然后重新打开 Notebook,在卡片的功能区上面便可查看到新可视化组件按钮。

1
[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh restart

总结

通过Kylin+Zeppelin集成来制作定制化数据报表,你能发现“麒麟”神兽除具有神速以外,还有强大的可扩展性能与BI工具友好的对接。除了本文中介绍到的Zeppelin之外,Kylin还能对接很多 BI工具,比如:SupersetCBoradTableauPower BI帆软 BI永洪 BISmartBI等等。甚至,你还可以根据自身的需求,定制开发个性化的数据报表平台。用一句时髦的话来说,就是“没有做不到的,只有你想不到的”。