Kyligence Copilot - AI 数智助理,以 AI 变革企业经营与管理! 立即了解更多

本地快速体验 Kylin「分析篇」

李森辉
Kyligence 解决方案架构师
2019年 6月 07日

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

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

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,可修改成自定义的端口号,其它参数配置也可按实际情况进行修改。更加详细的参数配置说明,可访问官方提供的说明(https://zeppelin.apache.org/docs/0.8.0/setup/operation/configuration.html)。完成配置参数自定义修改后,重新切换到  Zeppelin 安装目录,执行如下的命令,便以后台常驻形式启动 Zeppelin 服务:

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

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

集成 Apache Kylin

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

[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 标题,将 Kylin REST API 相关的信息进行配置,如 API 地址、用户名、密码等信息,可参考下图所示:

Kylin 解释器配置

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

创建 Notebook

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

Kylin Query on Zeppelin

     

制作数据仪表盘

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

  • Create new notebook
  • Filter
  • Folder/notebook

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

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

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

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

数据仪表盘示例


扩展可视化插件

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

扩展可视化插件


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

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

总结

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

添加企微

kyligence
关注我们

kyligence