Zepplin 简介

Zepplin 简介

简介

What is Apache Zeppelin?
Multi-purpose notebook which supports 20+ language backends

什么是 Zeppelin?官网的解释是:一个能够支持 20 种以上编程语言的多用途的笔记本。
可以实现以下功能:

  • 数据采集

  • 数据发现

  • 数据分析

  • 数据可视化和协作

15910877791.jpg

Apache Flink 是一个分布式处理引擎框架,用于在无限和有限的数据流上进行计算。

可以用 flink 来做一些基本的数据操作,例如字符的个数统计,读取hdfs中的文档等

1.2 批处理 ETL (Batch ETL)

通过 Flink 的 Batch SQL 和 UDF(Scala、Python、Hive)来完成 Batch ETL,本案例主要步骤:

  1. 通过 shell 将银行数据下载到本地
  2. 通过 Flink Batch Sql 和 Scala UDF 解析并清除原始数据
  3. 通过 Sql将结构化和清理后的数据写入另一个 flink 表中

其中 UDF 是用户自定义函数,关于 UDF 相关的概念:

  • UDF: 自定义标量函数(User Defined Scalar Function)。一行输入一行输出。
  • UDAF: 自定义聚合函数。多行输入一行输出。
  • UDTF: 自定义表函数。一行输入多行输出或一列输入多列输出。

1.3 探索性数据分析

  1. 可以通过 flink sql 对数据进行查询分析,例如:数据的聚合,动态表单等
  2. 可以自定义 UDF 后分析数据

1.4 流处理 ETL (Streaming ETL)

  1. 从 kafka 中获取数据
  2. 经过数据的过滤清洗等处理
  3. 将处理后的数据存放到 kafka 中

二、Zeppelin With Python

2.1 使用 python 进行数据可以化

python 中有很多支持可视化的库,例如:

  • Matplotlib
  • Pandas
  • Seaborn
  • Plotnine
  • Bokeh
  • Holoviews
  • Altair

通过 python 程序生成可视化图表,生成图表可以被其他页面直接使用

2.2 使用 python 深度学习

使用 keras 对 IMDB 数据集进行情感二分类

IMDB数据集,它包含2.5万个正面情绪的影评,2.5万个负面情绪的影评。

  1. 载入数据
  2. 转换数据
  3. 建立模型
  4. 训练模型
  5. 使用图形化方式展示训练过程中个指标的变化
  6. 调整训练参数
  7. 再次训练模型

三、Zeppelin With Spark

3.1 基本使用

可以通过 sql 直接展示可视化图表,支持条件选择,数据钻取

3.2 使用 Spark MlLib

  1. 载入数据
  2. 转换数据
  3. 建立模型
  4. 训练模型
  5. 使用图形化方式展示训练过程中个指标的变化
  6. 调整训练参数
  7. 再次训练模型

3.3 Spark Sql

  1. 使用 Spark Sql 创建数表结构
  2. 增加列
  3. 过滤行
  4. 使用用户自定义函数
  5. groupBy 和 join
  6. 可视化

四、总结

  1. Zeppelin 主要为我们提供了一个多语言在线编辑的工具;
  2. 可以用于数据获取、处理、治理的工作;
  3. 可以用于数据分析,报表分析,可以生成链接,用于其他的 iframe 页面中;
  4. 可以用于机器学习的模型创建,参数调整等。