总结「Apache Zeppelin」的安装方法
作为下一代数据分析基础设施,Apache Spark非常受到关注,但作为数据分析的重要元素之一,数据可视化也是其中之一。
Python和R在这方面的工具也非常完善。(如Matplotlib, ggplot等)
此外,对于分析师来说,可以在交互环境下执行代码和绘制图表的iPython Notebook和RStudio等工具非常方便。
目前,Databricks正在開發名為「Databricks Cloud」的軟體,該軟體可在iPython Notebook等環境中運行Apache Spark。
然而,由于目前只对部分用户公开,因此并没有成为一个人人都可以轻松使用的环境。因此,我将介绍如何安装提供与Databricks Cloud类似环境的「Apache Zeppelin(Incubator)」。
正如官方网站所述,Zeppelin提供了名为Notebook的交互式Shell,可以使用SparkSQL提供结构化数据,并使用SparkStreaming从Twitter获取数据,并将执行结果展示为图表等形式。此外,Zeppelin也是100%开源的,因此可以轻松使用。
环境
-
- Mac OSX 10.9.5 Mervericks
-
- JDK 1.7.0_76
-
- Maven 3.2.5
- Node.js (npm) 0.10.33
安裝
首先,将存储库克隆到本地。
git clone https://github.com/apache/incubator-zeppelin.git
cd zeppelin
接下来,我们将使用Maven进行构建。
在这个过程中,你可以指定Spark的版本。
(默认版本较旧,建议指定新版本。)
mvn clean package -Pspark-1.2 -DskipTests
一旦构建完成,就可以开始运行了。
./bin/zeppelin-daemon.sh start
当你访问localhost:8080时,你可以看到首页。

停止服务器时,请输入以下命令。
./bin/zeppelin-daemon.sh stop
教程
启动后,您可以选择笔记本进行操作。
当您查看选择项时,将会发现“Zeppelin Tutorial”中的笔记本已经预先设置好。
通过查看它,您可以了解在SparkSQL和可视化方面能够实现哪些功能。
此外,在官方网页中还使用Spark Streaming对从Twitter获取的数据进行了简单的语言处理。
在中国,我觉得这个功能很方便。
展示
可以通过标准输出显示HTML、图像和简单的表格等。
println("%html <p style=\"font-size:200%; color:red\">Important!!</p>")

动态表单
您可以将下面这些变量嵌入到代码中,就像模板一样。
// Hello world
println("Hello, " + z.input("name", "world"))
-- maxAgeよりageの高いuserを取得する
%sql SELECT * FROM users WHERE age > ${maxAge=30}
以这种方式嵌入的变量将在绘制结果的旁边放置一个表单,无需修改代码,仅需更改值。另外,一旦值被修改,结果会立即反映在图表等中。

合作
多个人可以对同一URL进行操作。
系统内运行WebSocket,如果有更新,当前浏览页面将异步更新。
同时,可以将执行结果单独提取为URL,并与他人进行共享。