Apache Zeppelin安装及介绍
背景
Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括spark, hive, tajo等,原生支持scala, java, shell, markdown等。它的整体展现和使用形式和Databricks Cloud是一样的,就是来自于当时的demo。
Mac OS上安装
目前github上,zeppelin版本是0.5.0,没用预先编译好的包提供下载。安装文档:http://zeppelin.incubator.apache.org/docs/install/install.html
其他组件都是好安装的,直接mvn install是没问题的。
我安装的时候唯一不太熟悉的就是zeppelin-web项目,里面使用了node, grunt, bower这些前段的工具。
我的经验是,修改zeppelin-web项目的pom.xml,把这部分脚本单独走一遍,
<plugin><groupId>com.github.eirslett</groupId><artifactId>frontend-maven-plugin</artifactId><version>0.0.23</version><executions><execution><id>install node and npm</id><goals><goal>install-node-and-npm</goal></goals><configuration><nodeVersion>v0.10.18</nodeVersion><npmVersion>1.3.8</npmVersion></configuration></execution><execution><id>npm install</id><goals><goal>npm</goal></goals></execution><execution><id>bower install</id><goals><goal>bower</goal></goals><configuration><arguments>--allow-root install</arguments></configuration></execution><execution><id>grunt build</id><goals><goal>grunt</goal></goals><configuration><arguments>--no-color --force</arguments></configuration></execution></executions></plugin>
安装顺序:
1. 首先需要提前安装好npm和node。 brew install npm和npm install -g node。
2. 进入zeppelin-web目录下,执行 npm install。它会根据package.json的描述安装一些grunt的组件,安装bower,然后再目录下生产一个node_modules目录。
3. 执行 bower –alow-root install,会根据bower.json安装前段库依赖,有点类似于java的mvn。见http://bower.io/
4. 执行 grunt –force,会根据Gruntfile.js整理web文件。
5. 最好执行 mvn install -DskipTests,把web项目打包,在target目录下会生成war。
mvn可能会出错,因为web.xml不在默认路径下,需要在pom.xml里添加:
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><webXml>app\WEB-INF\web.xml</webXml></configuration>
</plugin>
启动
安装完之后,在zeppelin parent目录下,修改conf文件夹里的zeppelin-env.sh和zeppelin-site.xml,可以是默认配置,但要把两个文件原本的无效后缀去掉。
在zeppelin parent目录下执行
bin/zeppelin-daemon.sh start
就可以在localhost:8080 访问到zepplin主页了。如果没有出主页,可以看浏览器console,是缺少了什么文件,八成是web项目打包的时候漏了,很可能是bower和grunt命令执行的时候缺少依赖出错的。
主界面为
zeppelin parent目录下会看到一个notebook文件夹,按notebook的名字命名区分了多个子目录。目录下是一个note.json文件,记录了每个notebook里输入的代码和执行结果,启动的时候会加载起来。
功能
进入页面上的notebook,可以直接写scala代码,
通过标识%md, %sh, %sql, %spark, %hive, %tajo来区分要执行的是什么,默认不写的话,执行环境是scala。在 http://127.0.0.1:8080/#/interpreter 页面里有详细的参数说明。
我还随手试了几个:
非常酷。
此外,zeppelin为spark sql做了可视化工作,进入tutorial notebook,它里面已经写好了例子。由于本地编译没有指定spark 版本,1.3之前版本没用toDF方法,而是toSchemaRDD,改下面这段:
import sys.process._
// sc is an existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)val zeppelinHome = ("pwd" !!).replace("\n", "")
val bankText = sc.textFile(s"$zeppelinHome/data/bank-full.csv")case class Bank(age: Integer, job: String, marital: String, education: String, balance: Integer)val bank = bankText.map(s => s.split(";")).filter(s => s(0) != "\"age\"").map(s => Bank(s(0).toInt, s(1).replaceAll("\"", ""),s(2).replaceAll("\"", ""),s(3).replaceAll("\"", ""),s(5).replaceAll("\"", "").toInt)
).toSchemaRDD
bank.registerTempTable("bank")
生成bank表之后,可以做查询,效果如下:
有直方图,饼状图,散点图,折线图等等。
注意:
这里${maxAge=}的写法和databricks cloud里的demo一样。当时那个例子是输入soccer,然后下方会实时训练并输出与足球有关的tweets(值FIFA比赛时期)。
这种表示方法,Zeppelin称之为Dynamic Form:
http://zeppelin.incubator.apache.org/docs/dynamicform.html
总结
apache zeppelin应该会很吸引分布式计算、数据分析从业者,代码量少,模块很清楚,可以尝试接入不同计算引擎,试试任务运行、可视化效果,是个值得把玩的算比较前卫的项目。
没有过多复杂的操作,只是区分了多个notebook,每个notebook里做单独的分析处理工作,流程和结果会被保存下来。此外,为spark做了更好的支持,比如默认是scala环境,默认sc已经创建好,即spark local可跑,默认spark sql有可视化效果。
全文完 :)
Apache Zeppelin安装及介绍相关推荐
- zeppelin oracle,Apache Zeppelin安装及使用
Apache Zeppelin介绍:A web-based notebook that enables interactive data analytics. You can make beauti ...
- Apache Zeppelin安装和启动
目录 1. 软件安装版本说明 2. 下载安装包 3. 修改Zeppelin配置 3.1 修改 zeppelin-site.xml 3.2 修改zeppelin的内存大小
- apache zeppelin安装
[root@mihaoyu151 ~]# cd /opt/install [root@mihaoyu151 install]# ll -rw-r--r--. 1 root root 158247652 ...
- Spark交互式分析平台Apache Zeppelin的安装
Zeppelin介绍 Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化.背后可以接入不同的数据处理引擎,包括Spark, Hive, tajo ...
- Zeppelin安装教程
我是在虚拟机中安装 虚拟机:virtualbox 系统:centos7 jdk1.7 zeppelin0.6.2 spark-2.0.2-bin-hadoop2.7 hadoop-2.7.3 scal ...
- Apache Maven 安装与配置-修改源
Maven配置,强大的Java包管理器 Maven介绍 Apache Maven 下载 Apache Maven 安装 要求 启动 解压到适当的文件夹 添加环境变量 修改配置 启动测试 Maven介绍 ...
- 2021年大数据HBase(八):Apache Phoenix的基本介绍
全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 前言 系列历史文章 Apache Phoenix的基本介绍 Apache ...
- RHEL5+PXE+DHCP+Apache+Kickstart安装RHCE5.1 i386实验室环境
此博文出自:http://andrewyu.blog.51cto.com/1604432/1100567 使用RHEL5+PXE+DHCP+Apache+Kickstart安装RHCE5.1 i386 ...
- (转)Apache的安装与配置
转自:http://www.dreamdu.com/webbuild/apache/ 5.2. Apache的安装与配置 5.2.1. Apache安装与配置视频教程 下面将介绍如何在WinXP下安装 ...
最新文章
- tomcat 日志分割脚本
- 【08】Effective Java - 异常
- ruby gem 本地安装方法
- 贝塞尔曲线(B′ezier)基础
- 如何建立自信心,不错!
- Ecplise中配置Tomcat7服务器
- 阅读openjdk源代码
- PHP 依赖注入,从此不再考虑加载顺序
- 设计一个程序实现两个任意长的整数的求和运算_深入 Python (7) Karatsuba 实现长整数乘法...
- python计算圆的面积
- 关于ionic打包出错:ionic Unable to start the daemon process
- Spring中的jar包详解
- Qt调用ffmpeg录制屏幕
- 热插拔48块硬盘服务器,24块前置热插拔硬盘设计
- uboot 源码官方下载地址
- 华为模拟器eNSP配置DHCP自动分配IP地址
- 2022年十大科技应用趋势
- android qq侧滑,Android实现QQ的侧滑置顶、删除
- 欧拉工程第12题 第一个拥有超过500个约数的三角形数是多少
- 基于安卓的 gps定位系统的跑步健身助手