Spark-数据分析可视化Zeppelin

简介: 官网介绍Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括Spark, hive, tajo等,原生支持scala, Java, shell, markdown等。

官网介绍

Apache Zeppelin提供了web版的类似ipython的notebook,用于做数据分析和可视化。背后可以接入不同的数据处理引擎,包括Spark, hive, tajo等,原生支持scala, Java, shell, markdown等。它的整体展现和使用形式和Databricks Cloud是一样的。

安装

其他组件都是好安装的,直接mvn install是没问题的。 而且zeppelin-web项目,里面使用了node, grunt, bower这些前端的工具。可以自己源码编译也可以使用二进制包直接使用。目前官网最新的版本是0.5.6版本,支持spark1.5和hadoop2.x版本。
自己编译:
- 安装好node, grunt, bower

 brew install npm
 npm install -g node
  • 修改pom
<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>
  • 进入zeppelin-web目录下,执行 npm install。它会根据package.json的描述安装一些grunt的组件,安装bower,然后再目录下生产一个node_modules目录。
  • bower –alow-root install,会根据bower.json安装前端库依赖
  • grunt –force,会根据Gruntfile.js整理web文件
  • mvn install -DskipTests,把web项目打包,在target目录下会生成war
    需要在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
  • 漂亮主页
    这里写图片描述
    zeppelin parent目录下会看到一个notebook文件夹,按notebook的名字命名区分了多个子目录。目录下是一个note.json文件,记录了每个notebook里输入的代码和执行结果,启动的时候会加载起来。

  • 编码
    使用的是scala,notebook,可以直接写scala代码
    标识%md, %sh, %sql, %spark, %hive, %tajo来区分要执行的是什么
    这里写图片描述

和spark整合

进入tutorial notebook,它里面已经写好了例子:

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")

这里写图片描述

总结

apache zeppelin分布式计算、数据分析从业者,代码量少,模块很清楚,可以尝试接入不同计算引擎,试试任务运行、可视化效果。没有过多复杂的操作,只是区分了多个notebook,每个notebook里做单独的分析处理工作,流程和结果会被保存下来。此外,为spark做了更好的支持,比如默认是scala环境,默认sc已经创建好,即spark local可跑,默认spark sql有可视化效果。
Publish
Zeppelin provides an URL to display the result only, that page does not include Zeppelin’s menu and buttons. This way, you can easily embed it as an iframe inside of your website.
这里写图片描述

目录
相关文章
|
1月前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
112 0
|
3月前
|
机器学习/深度学习 数据采集 数据可视化
【python】python当当数据分析可视化聚类支持向量机预测(源码+数据集+论文)【独一无二】
【python】python当当数据分析可视化聚类支持向量机预测(源码+数据集+论文)【独一无二】
|
14天前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
201 0
|
1月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
91 0
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
50 0
|
2月前
|
机器学习/深度学习 存储 数据可视化
数据分析和可视化
数据分析和可视化
|
2月前
|
数据采集 传感器 数据可视化
利用Python进行数据分析与可视化
【9月更文挑战第11天】在数字化时代,数据已成为企业决策和科学研究的关键。本文将引导读者了解如何使用Python这一强大的工具进行数据分析和可视化,帮助初学者理解数据处理的流程,并掌握基本的可视化技术。通过实际案例,我们将展示如何从原始数据中提取信息,进行清洗、处理,最终以图形方式展现结果,使复杂的数据变得直观易懂。
|
3月前
|
存储 编解码 数据可视化
Visium HD空间数据分析、可视化以及整合 (2)
Visium HD空间数据分析、可视化以及整合 (2)
88 3
Visium HD空间数据分析、可视化以及整合 (2)
|
3月前
|
数据可视化 数据挖掘 Python
"揭秘Visium HD黑科技:空间数据分析大揭秘,可视化与整合的艺术之旅!"
【8月更文挑战第20天】近年来,空间转录组技术,特别是Visium HD技术,因其高分辨率与高通量特性,在单细胞生物学领域受到广泛关注。本文通过Python演示了Visium HD数据的全流程分析:从数据准备(读取表达矩阵和空间坐标)、空间数据分析(计算基因表达统计量)、数据可视化(绘制基因表达热图和空间点分布图),到多样本数据整合,为读者提供了实用的分析指南,助力深入探索空间转录组学的奥秘。
84 4
下一篇
无影云桌面