开发者学堂课程【大数据Spark2020版(知识精讲与实战演练)第五阶段:Sparkstreaming 介绍-流计算和批计算的区别 】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/692/detail/12126
Sparkstreaming 介绍-流计算和批计算的区别
内容介绍
一、课堂目标
二、批量计算
三、流计算
四、流计算和批计算的区别
一、课堂目标
通过上节课的学习,流计算的应用场景带来两大要求,一、数据要快速处理,二、同时计算量巨大,接下来通过讲解流计算与批量计算的区别,说明流计算特殊的应用场景,明白何时用批量计算或者流计算
二、批量计算
批量计算整体流程如图:
使用 SPARK SQL 去吧 HDFS 等上的文件或者数据取出来
通过 SPARK 进行处理,然后落地在 hdfs 上
可以提供 hive 对 HDFS 的数据进行处理
往往读出来的数据较大,存在调度的时间,可能无法及时返回结果,
传统的计算方式,是无法快速计算数据结果的,Hdfs 的数据此时存在边界,数据量是固定的。
往往批量计算是为了形成一个数据仓库,对数据仓库进行查询,获取一些运行指标与特殊数据处理。
三、流计算
流计算和批量计算区别显著,如工业大数据
以工业应用场景为例
如图:
三台设备,数据以时间的形式源源不断地产生,一直产生,一直处理
此时数据没有边界,所以 SPARK 无法进行数据处理
此时数据往往放到过滤用的队列当中,如 kafka
kafka 是非常快速地数列工具,有许多磁盘上的优化,保证了数据的快速对接。
处理完成后以后,将数据落地到 Hbase 当中,Sparkstreaming
获取规律,结果,指标等信息,进行存储
再通过外部的 webui,对 HBease 进行处理
四、流计算和批计算的区别
1. 批量计算也叫做离线计算,数据有边界,有大小
2.流计算的数据是不断产生的
3.批量计算往往计算全量数据
4.流计算要求快速处理,所以处理的是增量数据