可视化交互式数据分析工具可视化交互式数据分析工具ApacheZeppelin
1. 什么是Apache Zeppelin
在正式进入Apache Zeppelin的正题之前,我们必须先了解两个概念。
REPL
REPL全称是Read Evaluate Print Loop,交互式解释器环境,通过交互式界面接收用户输入,交互式解释器读取输入内容并对
它求值,返回结果,并重复此过程。
Jupyter Notebook
Jupyter Notebook(早期叫IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。Jupyter Notebook 的是一
个Web应用程序,便于创建和共享程序文档,支持实时代码、数学方程、可视化和Markdown语法,常用在数据清理转换、数
值模拟、统计建模、机器学习等业务场景。
1.1 官方的定义
Apache Zeppelin官方网站的定义如下
Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and
more.
翻译过来就是
Zeppelin是支持数据驱动、交互式数据分析、协作式文档等特性的基于Web的交互式应用开发引擎,应用以Notebook形式表
示,支持Scala、Python、SQL、Markdown、shell等多种语言。
其中,Notebook是来自于Jupyter的概念,Zeppelin在前端以Jupyter作为工作引擎,将一个应用作为一个Notebook。
Zeppelin官方网站 http://zeppelin.apache.org/
Github地址 https://github.com/apache/zeppelin
另外,需要提一点的是在Github上Apache Zeppelin初次提交的时间是2015年7月,第一个正式版本是0.5.0,最新发布(2019
年1月)的版本是0.8.1。
有意思的是,奇虎360的一个分布式Key-Value存储组件也叫Zeppelin,项目代码在Github初次提交是2016年。项目地
址https://github.com/Qihoo360/zeppelin
1.2 通俗易懂的理解
Apache Zeppelin是一款大数据分析和可视化工具,可以让数据分析师在一个基于Web页面的笔记本中,使用不同的语言,对
不同数据源中的数据进行交互式分析,并对分析结果进行可视化的工具。
Zeppelin的设计理念就是通过不同的解释器支持多种语言的REPL,并对返回结果进行可视化展示。
1.3 Apache Zeppelin的主要功能和特点