Sparkstreaming 介绍-架构 | 学习笔记

简介: 快速学习 Sparkstreaming 介绍-架构

开发者学堂课程【大数据Spark2020版(知识精讲与实战演练)第五阶段:Sparkstreaming 介绍-架构 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/692/detail/12127


Sparkstreaming 介绍-架构

内容介绍

一、课前思考

二、流和批的架构组合

 

一、课前思考

一个系统只有一个流计算或者批计算是否满足需要?

针对一个系统进行商业分析是需要的,针对一个系统可能要满足各种各样的商业分析。

当需要通过流计算来动态地展示相关内容,通过流计算来动态展示相关功能

流计算与批计算如何进行架构上的集合?

 

二、流和批的架构组合

(1)混合架构

在一个系统当中流计算代表快速的获取计算结果,而批计算则是整体的,更深层次的进行整合,

所在一个系统中,采用混合架构,即采用批计算进行全面的计算,又采用流计算进行快速的获取

如果采用的话,则该系统分为两层

第一层为 Bath layer,指批计算,为全量层,第二层 Speed layer,指流计算,为快速处理层。

image.png

批和流可能同时存在在一次查询,要进行同时的查询,分别针对项目进行批计算和流计算,将两次计算结果合并为合并结果

此时应该采用,使用 kafka 来获取数据,从外部系统将数据交给 kafka

再将数据通过 kafka 以文件形式传入或者被流计算数据框架直接实施获取数据。

批处理层可进行预处理,流处理层进行增量处理,这便是区别。

批处理层对数据进行处理以后,对外提供 view 这些 view 称为 serving layer ,为服务层,View 可以简单理解为在 half 中创建一个表,表是对于像 hdif 上文件的视图,当然不止 hdif流数据处理也要做出 view,但不会用到 hdfs,这些数据是实时的 Kafak 多出一条数据,流处理层便将数据拉出来,进行处理。

而批处理层是对数据进行积攒,到一定程度,形成文件处理

所以流数据层的数据无法在落地到 hdfs 中,虽然现在有些公司将数据与 hdfs 绑定,但这是不科学的。流计算应将数据放入可快速插入的数据库当中。

可提供外表一些表,用以查询,查询结果来自流处理层和批处理层

最终将俩者结果进行整合,得到最终结果。

这种整合结构就叫混合架构,混合架构又称 lamba 架构。

最大特点是将流式计算和批处理结合起来

但批和流的整合的场景在现实需要中很难见到,并且会带来灾难性的后果,不仅要维护两个层,还要分别进行结果查询,自身编写逻辑,且在编写和处理还可能进行图的编写和处理,仅为一个功能过程复杂,得不偿失

所以现实场景往往是各自工作,是流与批分开进行工作

整体图如下:

image.png

分三个部分

第一部分是对流的查询:得到 query

第二部分是对批的查询:得到 real time view

最终查询结果:得到 batch view,对计算结果的整合

存在优点:兼顾流批的各项优点,在批处理层可以全量的查询分析,速度曾可以查询最新数据。

缺点:设计反人类,自身工作太多项目的进展,不尽如人意。

(2) 流式架构

image.png

简化的结构也称 kappa 架构,本质上删掉了批处理

从外部数据源获取数据到 kafka,在传入到 spark 进行处理

再将数据多地到到 query 数据库中查询

query 数据库为无中心的

与 cassandra、 hbase 有中心的数据库功能相似 cassandra 可以作为 hbase 的变种

cassandra、 hbase 擅长实时数据的插入,但是对于批量的大规模的数据扫描较差

优点

1.简单

2.效率高

问题少适应一个,两者太过极端,往往采用 kappa 架构进行处理。

丧失了 lambda 的优秀特点,成本较高。

总体适合中小公司的实际需求,在现实需要中流与批很少结合。

相关文章
|
8月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(二)Rest微服务工程搭建
184 0
|
8月前
|
Java Docker 容器
美团大牛精心整理SpringBoot学习笔记,从Web入门到系统架构
近期慢慢复工,为了准备面试,各路码友们都开始磨拳擦脚,背面试题、知识点。小编最近得一良友赠送了一份关于SpringBoot的学习笔记,简直不要好用,理论解析言简意赅,每一步操作都有图片展示。这么好的东西肯定不能私藏,为了感谢大家在2019年里的支持,我现在将这份笔记赠送给大家,祝大家前程似锦,Offer不断!
|
5天前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
119 81
|
8月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
316 0
|
8月前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
|
8月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(目录大纲)
197 1
|
8月前
|
SpringCloudAlibaba Java 测试技术
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(六)Hystrix(豪猪哥)的使用
167 1
|
8月前
|
SpringCloudAlibaba 负载均衡 Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(三)Eureka服务注册中心
115 1
|
8月前
|
SpringCloudAlibaba Java 持续交付
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(一)基础知识+各个组件介绍+聚合父工程创建
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(一)基础知识+各个组件介绍+聚合父工程创建
798 1
|
8月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
943 0

热门文章

最新文章