使用基于Web的交互式开发工具Zeppelin

简介: 使用基于Web的交互式开发工具Zeppelin

1. 实验室名称:

大数据实验教学系统

2. 实验项目名称:

使用基于Web的交互式开发工具Zeppelin

3. 实验学时:

4. 实验原理:

Zeppelin是一个基于Web的notebook,提供交互数据分析和可视化。后台支持接入多种数据处理引擎,如spark,hive等。支持多种语言: Scala(Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等。

 Zeppelin中最核心的概念是Interpreter,interpreter是一个插件允许用户使用一个指定的语言或数据处理器。当前已经实现的Interpreter有spark解释器、python解释器、Spark SQL解释器、JDBC解释器、Markdown解释器和shell解释器等。


5. 实验目的:

掌握zeppelin的安装和配置。

 掌握在zeppelin中配置和使用Spark解释器。

 掌握在zeppelin中创建notebook文件和执行Spark交互式操作。


6. 实验内容:

1、安装zeppelin。

 2、在zeppelin中配置Spark解释器。

 3、在zeppelin中创建和notebook文件。

 4、在zeppelin中执行Spark交互式操作。


7. 实验器材(设备、虚拟机名称):

硬件:x86_64 ubuntu 16.04服务器

 软件:JDK1.8,Spark-2.3.2,zeppelin 0.8.1

 在本实验环境中,zeppelin安装包位于:/data/software/zeppelin-0.8.1-bin-all.tgz


8. 实验步骤:

8.1 安装和配置zeppelin

1、将zeppelin安装包解压缩到”/data/bigdata/“目录下,并重命名为zeppelin。打开一个终端窗口,执行如下命令:

1.  $ cd /data/bigdata
2.  $ tar xvf /data/software/zeppelin-0.8.1-bin-all.tgz
3.  $ mv zeppelin-0.8.1-bin-all zeppelin

2、打开conf/zeppelin-env.sh文件(默认没有,从模板复制一份)。在终端窗口中,执行如下命令:

1.  $ cd /data/bigdata/zeppelin/conf
2.  $ cp zeppelin-env.sh.template zeppelin-env.sh
3.  $ vim zeppelin-env.sh

在打开的文件最后添加如下两行内容:

1.  export JAVA_HOME=/opt/jdk
2.  export SPARK_HOME=/opt/spark

4. 打开zeppelin-site.xml文件(默认没有,从模板复制一份)。在终端窗口中,执行如下命令:

1.  $ cd /data/bigdata/zeppelin/conf
2.  $ cp zeppelin-site.xml.template zeppelin-site.xml
3.  $ vim zeppelin-site.xml

在打开的文件中,修改如下两个属性,设置新的端口号,以避免冲突:

1.  <property>
2.    <name>zeppelin.server.port</name>
3.    <value>9090</value>
4.    <description>Server port.</description>
5.  </property>
6.  
7.  <property>
8.    <name>zeppelin.server.ssl.port</name>
9.    <value>9443</value>
10.   <description>Server ssl port. (used when ssl property is set to true)</description>
11. </property>

5. 配置zeppelin的系统环境变量。使用如下命令打开”/etc/profile”文件:

1.  $ vim /etc/profile

在打开的配置文件中,添加(或修改,如果已经配置了的话)如下两行内容:

1.  export ZEPPELIN_HOME=/data/bigdata/zeppelin
2.  export PATH=$PATH:$ZEPPELIN_HOME/bin

然后保存文件并退出。执行以下命令,让配置生效:

1.  $ source /etc/profile

8.2 启动zeppelin服务

在终端窗口中,执行以下命令,启动zeppelin服务:

1.  $ zeppelin-daemon.sh start

执行过程如下图所示:

7e0a3fc21f0e435b9c5a28cba82a137a.png


8.3 创建notebook文件

1、首先启动浏览器,在浏览器地址栏输入:http://localhost:9090/, 打开访问zeppelin首页界面,如下图(第一次访问,建立连接可能需要一点时间,多刷新几次即可)。然后点击【Create new node】按钮,创建一个新的notebook文件,如下图所示:

e2e33e44d5a3414bb5aeedba7d0c0c37.png


2、然后在弹出的创建窗口,填写相应信息,然后单击【Create】按钮即可:

e5fb85270781418ab108b8f010152dc7.png


8.4 执行Spark交互式操作

说明:如果是在standalone集群模式下使用Zeppelin,请先启动Spark集群。

 在新打开的notebook界面,执行Spark代码,如下图所示:


667bc6fb1b464d46af080d80ae9d9bcb.png

8.5 关闭zeppelin服务

在终端窗口中,执行以下命令,停止zeppelin服务:

1.  $ zeppelin-daemon.sh stop

9. 实验结果及分析:

实验结果运行准确,无误


10. 实验结论:

经过本节实验的学习,通过学习使用基于Web的交互式开发工具Zeppelin,进一步巩固了我们的Spark基础。


11. 总结及心得体会:

Zeppelin提供了基于web的notebook工具,以非常友好的方式实现交互式数据分析,特别适合于数据分析人员和开发人员进行代码调试和数据探索。

 配置Zeppelin,关键是选择合适的Spark解释器,并配置正确的参数。

 在Zeppelin中创建的文档,可以导出为json格式的文件,然后分发到另一台机器上,再导入到Zeppelin中进行编辑和执行。

c9c2bacbf6154580bba0fc689e18c396.png

相关文章
|
2月前
|
前端开发 JavaScript 开发工具
web应用开发工具
【9月更文挑战第1天】web应用开发工具
55 3
|
23天前
|
数据可视化 数据库 开发者
使用Dash构建交互式Web应用程序
【10月更文挑战第16天】本文介绍了使用Python的Dash框架构建交互式Web应用程序的方法。Dash结合了Flask、React和Plotly等技术,让开发者能够快速创建功能丰富的数据可视化应用。文章从安装Dash开始,逐步介绍了创建简单应用程序、添加交互元素、部署应用程序以及集成更多功能的步骤,并提供了代码示例。通过本文,读者可以掌握使用Dash构建交互式Web应用程序的基本技巧和高级功能。
39 3
|
3月前
|
前端开发 JavaScript C#
C#开发者的新天地:Blazor如何颠覆传统Web开发,打造下一代交互式UI?
【8月更文挑战第28天】Blazor 是 .NET 生态中的革命性框架,允许使用 C# 和 .NET 构建交互式 Web UI,替代传统 JavaScript。本文通过问答形式深入探讨 Blazor 的基本概念、优势及应用场景,并指导如何开始使用 Blazor。Blazor 支持代码共享、强类型检查和丰富的生态系统,简化 Web 开发流程。通过简单的命令即可创建 Blazor 应用,并利用其组件化和数据绑定特性快速搭建界面。无论对于 .NET 还是 Web 开发者,Blazor 都是一个值得尝试的新选择。
126 1
|
Java 应用服务中间件 开发工具
[Web程序设计]实验: 开发工具使用
[Web程序设计]实验: 开发工具使用
|
4月前
|
前端开发 JavaScript API
不可错过的 Web 开发工具
免费工具对于任何网络开发人员的工具包都是必不可少的,特别是对于那些预算有限或想要在不花钱的情况下提升技能的人来说。
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
Jupyter Notebooks和IPython是交互式数据分析利器,提升效率。Jupyter是开源Web应用
【7月更文挑战第5天】Jupyter Notebooks和IPython是交互式数据分析利器,提升效率。Jupyter是开源Web应用,支持多语言,结合IPython的交互式解释器,便于编程和科学计算。两者提供即时反馈、丰富库支持、跨语言功能及协作共享。基本流程包括:数据导入(使用Pandas)、预处理、分析(借助Pandas、NumPy、Matplotlib)、模型训练(如随机森林)和评估。
45 0
|
5月前
|
前端开发 Java
技术经验分享:idyll开源生成交互式web的标记语言试用
技术经验分享:idyll开源生成交互式web的标记语言试用
37 0
|
存储 JavaScript 前端开发
Vue.js中的组件通信:构建交互式Web应用的关键
Vue.js是一款流行的JavaScript框架,以其组件化的开发方式而闻名,但在构建复杂的Web应用时,组件之间的通信变得至关重要。在本博客中,我们将深入探讨Vue.js中的组件通信的不同方式、用法示例以及如何选择适当的通信方式来构建交互式和高效的Web应用。
84 0
|
JavaScript 前端开发 数据可视化
WebGL:基于web的交互式2D/3D图形引擎
WebGL(Web图形库)是一个JavaScript应用程序编程接口(API),用于实现交互式Web图形。
334 0
|
数据可视化 JavaScript 前端开发
用 PyWebIO 在 Python 中创建交互式 Web 应用程序
用 PyWebIO 在 Python 中创建交互式 Web 应用程序

热门文章

最新文章

下一篇
无影云桌面