总结「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时,你可以看到首页。

top.png

停止服务器时,请输入以下命令。

./bin/zeppelin-daemon.sh stop

教程

启动后,您可以选择笔记本进行操作。
当您查看选择项时,将会发现“Zeppelin Tutorial”中的笔记本已经预先设置好。
通过查看它,您可以了解在SparkSQL和可视化方面能够实现哪些功能。
此外,在官方网页中还使用Spark Streaming对从Twitter获取的数据进行了简单的语言处理。

在中国,我觉得这个功能很方便。

展示

可以通过标准输出显示HTML、图像和简单的表格等。

println("%html <p style=\"font-size:200%; color:red\">Important!!</p>")
display.png

动态表单

您可以将下面这些变量嵌入到代码中,就像模板一样。

// Hello world
println("Hello, " + z.input("name", "world"))
-- maxAgeよりageの高いuserを取得する
%sql SELECT * FROM users WHERE age > ${maxAge=30}

以这种方式嵌入的变量将在绘制结果的旁边放置一个表单,无需修改代码,仅需更改值。另外,一旦值被修改,结果会立即反映在图表等中。

zeppelin.png

合作

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

广告
将在 10 秒后关闭
bannerAds