Apache Zeppelin(一)| 学习笔记

简介: 快速学习 Apache Zeppelin。

开发者学堂课程【Apache Flink 入门到实战 - Flink 开源社区出品 Apache Zeppelin(一)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/632/detail/10038


Apache Zeppelin(一)

 

内容介绍

一,Agender

二,Zeppelin Concept

三,Extension

四,Notebook Storage

五,Security

六,Flink Interpreter

七,怎样在 Flink 里开发程序

八,Jdbc interperter

九,Python Interpreter

十,Resources

 

一,Agender

1,什么是 Zeppelin

用一句话来概括,它是一个 interactive 的 west 的 IDE,那这里有两个关键词,一个是 interactive,另外一个 idinactive,就是交互式的意思,

IDE 的全称它的全称 integrateddevelopmentenvironment 中文的话可以称之为集成式开发环境那这个集成开发,

环境包括哪些东西

第一点就是它有最基本的编译器的就是我们可以在编辑器里面写代码之后首先需要编译,代码去到另外一些正常的真正的生产环境上去跑这是一些功能当然IDE 还会有其他一些功能

所以,总的来说 IDE 就是一个,包含这些基本功能这样一个集成开发环境,zeppelin 作为这样一个 IDE,它本身也是具有这些基本的功能的。

所以和传统 IDE 相比的话,zeppelin 它有自己独特的地方,相对于传统ID,也有可能他有一些相对弱势的地方

2,Traditional Approachimage.png会在本地左右开发票,在本地 ID 里面去写一些,代码程序,会在本地去跑程序,如果有问题,修改代码修改代码之后,如可以在本地继续跑,然后会打个包,然后跌破到一个集训上去,去跑真正的那个 job,如果开发一个 flink 的一个程序的话,一般是这样一个流程,如果跑到集训上面,失败了,要重新回来,重新再 logo 在开发。

从第一步这样走到第三步,举个例子就是如果开发 flink 的 application 的话,就是这样一个流程。

3,Notebook Approach

如果在 notebook 环境里面,首先可以在 notebook 里面去做开发,可以在notebook 里面写,用 flink 的 API 去写代码,也可以去执行这些代码,可以在那Running 的那些 code,此外还可以在 notebook 里面去 deployed,发到 class 上面,不需要去打一个假包,然后去把它 SCP 到那个 class 上去,然后调用 flink 这种命令去跑教版,所有的这些,从开发最后到 department 整个这个流程都是可以在这 notebook 这个环境里面去做,所以相对于传统 ID 的话,就是 notebook 会更加方便。

就是说只是有些情况适合 notebook ,有些情况还是适合于传统的那个 IDE。

image.png

image.png

就是说传统的 IDE 和 notebook,有一些哪些不同的地方,首先从复杂度这个角度来看,就是说如果这个 flink 程序,是相对来说是比较复杂的,

比如说有上千行的代码,有几百个的 class 那这种情况下,建议放到这个 IDE 里面去开发,如果扣流量相对会比较少一点,可能只有一两百行代码或者三四百行代码,建议在 notebook 的环境下面去做。

另外第二个维度是 interactivity 就是交互,交互就是说传统的 ID 里面开发的话,会首先需要把所有的代码工作写完成之后,然后有要至少一个像阿梅函数的入口,然后这样才能去跑代,但是在这就是传统的这个非交互式的方式。

交互式的方式就是说交互式的方式是写了一段代码,就要这种代码,马上看到这种代码所产生的效应这种就是交互式的一种方式。

所以在那个环境里面,它就是有这样一个交互式的一个特性,第三点是可视化。

在传统的里面是基本上没有这种可视化的功能,但是在 notebook 环境里面是有这个可视化的一个能力,所以,工作是需要做一些数据的可视化的 Notebook 是非常适合的。

所以总的来说,如果是要做一个非常复杂的一个大数据的一个产品的话,传统的IDE 是比较适合你,比如说你要做一个 poco,相对来说量不会太大,或者如果要是做一些数据分析的工作,

那 notebook 也会比较适合你,因为数据分析会需要不断的交互,不断的会有需要可视化的这种需求。那另外一点就是如果要做一些机器学习方面工作,也是非常适合的。这就是传统 IDE 和 notebook 之间的比较。

4,Zeppelin in Big Data

两个或者有两个要素在别的领域是必不可少的,第一个要素就是 data,数据第二个要素就是 computing 就是计算所有数据和计算是 bigdata 里面,最基本的两个要素,zeppelin 就是可以理解为作为数据和 computing 之间的这样一个桥梁,就在这个环境里面,你可以去利用 sip,它所衔接的那些引擎,所说的引擎,

包括 hive flink spark 或者这些引擎,可以用这些引擎去,去访问数据,然后去利用计算资源去处理数据,这个就是 zeppelin。

image.png

5,Zeppelin Architecture

cpu 架构图,从这张图上可以把它分为,三个层次,最左边开始看,是一个前端,第二个是它有一个 Sleeping server 可以理解成一个 webserver 这是它的第二层,Webserver 首先它会管理很多各种各样不同的东西,比如说包括 enterprise 包括他的权限管理,各式各样东西都会在这个 APP 里面最右侧每个节点其实是代表一个 Internet

Internet 中文可以解释为就是解释器也可以直观地理解成就一个 Internet 就代表一个计算引擎,那这边的计算引擎可以是一个 flink 计算机,也可以是个 spark 计算引擎,甚至也可以是一个 tensorflow 的计算引擎,本身它是一个开放式的一个架构,所以 Internet 在引擎这块,它是有有扩展性的。

凡事只要实现它的接口,就可以把引擎给接到 APP 上面去。

image.png

 

二,Zeppelin Concept

四个最重要的概念,一个是 Internet,Internet setting 就是每个 inter 或者每个引擎其实有很多很多配置信息的,提交一个 Java 的时候,需要设置一些不同的参数,针对每个脚本会有不同的参数。另外一个重要概念是个 notenote。

首先我们从 notebook 的话 notebook 就是你给中文翻译直白一点就是,笔记本,那 note 就是相当于是 notebook 里面的一个 note 或者是 notebook 是 note 的一个集合,可以把 note 理解成就是笔记本里面的一张纸。

Paragraph 就是,中文翻译段落,paragraph 是属于是隶属于 note,就是一个note 可以包含多个 paragraph,就是在一个 note,在一个一张纸上,可以写好几个段落,这个就是基本概念,这个会比较抽象。

 

三,Extension

主要有三个点可以扩展,一个是 Internet 就是说凡是它可以连接很多大数据的。

包括 highFlinkspark 这些东西都被限制比如说,你自己内部有一个系统不是开源的你想连接到视频上面去可以开发这样一个 Internet 然后,集成到 APP 里面去开发这样一个第三方 Internet 只要按照它的接口,然后分装一下你的 Internet 就可以。

第二点是 display system 就是它的一个输出系统,输出系统的他也可以做一些定制化,默认现在支持的有那么这么几种方式,一种是纯文本,那另外一种就是 HTML或者是也可以支持那种 Table 结构,Table 也可以就用或用图形化那种方式把结果呈现出来,这个是 displaysystem

那第三块是格式化,格式化这块也是可以做扩展的,那zeppelin本身提供了一些基本的一些可视化的一些方法,比如说是,柱状图,饼状图,散列图,都是比较基本的可视化的方法。

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
Web App开发 前端开发 Java
Apache Zeppelin系列教程第二篇——整体架构
Apache Zeppelin系列教程第二篇——整体架构
359 0
|
SQL 运维 数据可视化
Apache Calcite
Apache Calcite
|
5月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
7月前
|
SQL Java 数据安全/隐私保护
发现问题:Mybatis-plus的分页总数为0,分页功能失效,以及多租户插件的使用。
总的来说,使用 Mybatis-plus 确实可以极大地方便我们的开发,但也需要我们理解其工作原理,掌握如何合适地使用各种插件。分页插件和多租户插件是其中典型,它们的运用可以让我们的代码更为简洁、高效,理解和掌握好它们的用法对我们的开发过程有着极其重要的意义。
734 15
|
存储 机器学习/深度学习 分布式计算
HDFS NameNode元数据管理
HDFS NameNode元数据管理
|
9月前
|
SQL 数据采集 监控
VeryReport:高效智能的报表软件,助力企业数据可视化决策
VeryReport:高效智能的报表软件,助力企业数据可视化决策
|
监控 Linux
在Linux中,如何实时查看网卡流量为多少?如何查看历史网卡流量?
在Linux中,如何实时查看网卡流量为多少?如何查看历史网卡流量?
|
SQL 分布式计算 关系型数据库
Apache doris Datax DorisWriter扩展使用方法
DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS 等各种异构数据源之间高效的数据同步功能
1362 1
Apache doris Datax DorisWriter扩展使用方法
|
资源调度 JavaScript 前端开发
五分钟教你使用vue-cli3创建项目(三种创建方式,小白入门必看)
五分钟教你使用vue-cli3创建项目(三种创建方式,小白入门必看)
|
消息中间件 API PHP
阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档
【2月更文挑战第23天】阿里云OpenAPI RocketMQ 5.0的PHP收发消息文档
753 7