Zeppelin_出现契机| 学习笔记

简介: 快速学习 Zeppelin_出现契机

开发者学堂课程【2020版大数据实战项目之 DMP 广告系统(第七阶段)Zeppelin_出现契机】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/682/detail/11843


Zeppelin_出现契机

内容介绍:

一、 Zeppelin 内容介绍

二、数据分析是一个探索性的过程

三、如何表达对数据的理解

四、擅长 SQL 和擅长 Scala 的同事如何配合

 

一、Zeppelin 内容介绍

介绍一下 zeppelin 的一个工具,介绍产品工具。当前此视频,简单告诉大家整个课程。就会在学习的过程当中会更有思路。其次想告诉大家,在做产品出现之前,传统的开发方式里痛点是什么?

zeppelin 能够做什么。这时看第一步,就是整个课程的结构应该是怎么样的呢?

整个课程,分为两大部分,第一大部分,要去介绍一下zeppelin它是什么。要对zeppelin入一个门,那包括安装基本的使用,接下来,第二部分zeppelin是一个工具,既然是一个工具,只用了解一下它的基本使用就可以了,比如现在要去玩Windows,也是简单介绍Windows怎么用,然后大家一探索一摸索就会了,zeppelin不是一个技术,它只是一个工具,然后在入门阶段,要简单了解几个知识点,首先第一个知识点要去看一看 zeppelin,然后其次,要去安装一个APP,然后再其次要去简单介绍一下界面。这就是大致入门阶段的三个部分。

首先第一点,zeppelin 是什么?在 zeppelin是什么这一环节当中呢?首先第一步骤,大家了解一下 zeppelin 出现这之前,开发的方式有什么问题,就是传统方式,传统开发方式的痛点,然后接下来,想让大家了解一下,就是有这样的一些痛点。zeppelin如何解决这些问题呢?提供了什么帮助?然后他有什么样的特点,通过这视频,就让大家了解一下传统开发方式的痛点

 2022-11-22 (2).png


二、 数据分析是一个探索性的过程  

(需求 -> 看数据集 -> 结果集 -> 结果集反推)

去写一个小项目的时候,一般情况下是先要有需求,要先明白要干什么,然后去看数据集,要了解数据集是一个什么概念。通过需求和数据集就能够知道,最终的结果集应该长成什么样子,要进行数据处理的话,要把数据处理成什么样子,结果即明确了以后就去找其中的步骤,就是要靠大家对于知识的理解,对于数据处理的一些经验,其实可以根据结果及反推,比如现在有这样的一个结果集。结果集上一部应该是怎么样的,得到上一步了以后,上一部又应该是怎么样的,是一步一步的去反推出来最终的结果。这过程根据不同的需求,就会有不同的变化,在讲到后续的项目的时候在进行讲解。

1.没有人能一蹴而就的完成分析和挖掘任务

往往数据挖掘和数据分析是需要多次尝试和调试,不断的迭代和探索数据的过程

2. 数据探索需要一些工具支持

(所用工具为:Spark IDEA(太过于麻烦)-> Spark shell每一步都可以看到运行结果)

Spark shell也太过于简单。对于分布图并不是很好用。

因为要不断的探索数据,所以要求工具必须要支持多种组件,多种语言,要支持可调试

3. Spark shell 是一个比较简单的交互式环境

虽然 Spark shell 能够及时的看到结果,但是其功能还是太过简单,只能在Shell中使用,并且也没太好的方式记录整个调试过程

4.Zeppelin 的一个重点,是让交互式探索变得容易

所以 Zeppelin 要解决的一个比较重要的问题就是让交互式探索变得更容易

(为什么会出现 Zeppelin?数据是探索的过程才能得到结果,而探索就需要工具的辅助,现在的Spark shell 不够好用,所以就有了 Zeppelin 的出现契机。)

数据是探索的过程才能得到结果,如果要探索的话,要有一些工具的支持,现在spark shell不够好用,那怎么办呢?一个叫做zeppelin在这里如何解决问题。

 

三、如何表达对数据的理解

比如一个比较传统的一个场景。就是通过业务系统,这种关系性LPP的数据库。然后提取数据,经过spark处理,处理完以后是一个ETL的过程,装载到half当中。

然后数据分析师通过half一些分析分析,然后接下来数据过渡到我们自身,比如h base这样的数据库当中,然后,在h base当中,呈现了一些数据的结果,再交给前端的HR来进行相应的访问可视化。通过复杂长的一个流程,才能够表达对数据的理解,这种过程,是很精准的,也很厉害的,但是比较适合用户表达数据。

但是团队内,比如有一个组B,有两个小组。组a想要像组B去共享一些结果,这时候该怎么办呢?在经过一个流程,然后分析,再放到h base里,再通过HRS去写一个前端页面去展示,可以这样,但是不至于这样麻烦。

(业务 -> spark -> Hive - > 分析 -> HBase -> ECharts

1.如何表达数据分析的结论?

在一次数据分析结束后,总是要有一些结论的,常见的形态如下:

1)数据分析,得出报表数据,存入HBase或者KUDU之类的数据库中

2)前端读取Kudu或者 HBase中的数据,展示结果

这种形态的表达比较重,适合对外提供,如果希望在内部进行结论的共享,该如何做呢?

2. Spark shell 只能作为调试工具

Spark shell 是一个交互式工具,但是如果想把整个调试过程,包括对数据的解读都记录下来,使用 Spark shell 还是力有不逮

3. Zeppelin 是一款笔记工具

Zeppelin 是一款笔记工具,意味着Zeppelin的基本操作单位是笔记,在一个笔记中可以同时做到如下三件事

l  使用 Markdown 编写文字性内容

l  编写 PythonRScala 等程序,操作 Spark,Flink 等工具

l  展示执行结果,提供丰富的可视化支持

(这三板斧配合起来,足以轻松并且愉快的表达数据结论)

 

四、擅长 SQL 和擅长 Scala 的同事如何配合

在团队当中,有一些人适合做算法,一些算法工程师,有一些人是专攻理论的,是一些分析师,有一些人,可以做一些ETL,然后对数据来进行一些分析处理这样的一些工作,这些不同的团队。人之间该如何进行配合呢?这是一个问题,正常的情况下怎么配合,发一个邮件,邮件里面带一些结果,每一步应该是怎么样的,或者开一个会,每个人把想法结果给表达出来。

1.有人做算法,有人写代码,有人做研究

在一个数据项目中,是分为很多岗位的,主要通过代码来完成需求和分析数据,但是有些岗位是数学家,或者算法工程师,他们和我们所掌握的技能是不同的

有人只写 SQL,有人只写 Scala,有人只写公式,这些人如何配合起来呢?仅通过Spark shell 来配合显然不够

2. Zeppelin 是一个 Web 程序

Zeppelin是一个Web 程序,以Java 编写,使用 Shiro 做权限控制,所以Zeppelin支持如下功能

l  多人同时访问

l  针对笔记进行权限限制

所以 Zeppelin 可以成为一个团队的配合工具

这是 zeppelin 出现的三大契机,第一点,数据分析,是一个探索性的过程,然后其次,第二个问题就是如何表达结果,结果的表达比较困难和繁琐,第三点,团队之间是需要配合的。

zeppelin 就是正因为这三个原因,做了一个 zeppelin,通过 zeppelin,就可以解决一些问题。

相关文章
|
Kubernetes 关系型数据库 容器
Kubernetes之路 3 - 解决服务依赖
在容器服务的客户群中,一个经常被问起的问题就是如何处理服务间依赖。本文介绍了常见的解决方法来实现服务的依赖检查,还进一步用示例展示了如何利用init container, liveness/readiness探针等技术实现服务健康检查,依赖检查等等功能。
12254 1
|
消息中间件 Java Kafka
SpringCloud学习笔记(五)-SpringCloudStream集成kafka(上)
Spring Cloud Stream是构建消息驱动的微服务应用程序框架。提供统一的接收发送管道以连接到消息代理。通过@EnableBinding注解开启SpringCloudStream的支持。通过@StreamListener注解,使其接收流处理的时间。
SpringCloud学习笔记(五)-SpringCloudStream集成kafka(上)
|
10月前
|
安全 区块链 数据安全/隐私保护
区块链技术在跨境支付中的应用:打破传统,畅行全球支付新时代
区块链技术在跨境支付中的应用:打破传统,畅行全球支付新时代
1460 12
区块链技术在跨境支付中的应用:打破传统,畅行全球支付新时代
Neo4j Neo.TransientError.General.MemoryPoolOutOfMemoryError
Neo4j Neo.TransientError.General.MemoryPoolOutOfMemoryError
288 0
|
Ubuntu Java 程序员
极速导入elasticsearch测试数据
快速导入测试数据用于elasticsearch查询练习
737 0
极速导入elasticsearch测试数据
|
SQL 消息中间件 关系型数据库
ClickHouse(10)ClickHouse合并树MergeTree家族表引擎之ReplacingMergeTree详细解析
`ReplacingMergeTree`是ClickHouse的一种表引擎,用于数据去重。与`MergeTree`不同,它在合并分区时删除重复行,但不保证无重复。去重基于`ORDER BY`列,在ver列未指定时保留最新行,否则保留ver值最大者。数据处理策略包括延迟合并导致的不确定性及按分区去重。`CREATE TABLE`语法中,`ReplacingMergeTree`需要指定可选的`ver`列。相关系列文章提供了更深入的解析。
1002 0
|
存储 数据采集 分布式计算
揭秘友盟+全域数据统计分析平台技术架构演进
如何搭建一个高可用、高安全、高性能、高稳定的全域数据统计分析数据平台架构,成为技术人首先需要考虑的问题。
揭秘友盟+全域数据统计分析平台技术架构演进
|
前端开发 JavaScript Java
09. WebApp2.0时代启程:倒立者赢,挑战Android性能极限
紧接上文,在终端硬件资源有限的大背景下,业务脚本+图形内核,将是未来主流的开发方式。AEPixi使用C/C++、JS、JNI、OC等混合语言开发,将pixi.js变成高性能的Native内核,提供上层pixi.js标准的API,无缝的兼容浏览器开发好的代码,实现浏览器开发,无需编译,到处运行的开发方式。 今天我们做一个H5的Demo,使用FireFox开发,开发完成之后,直接使用上一
2525 0