第7章 Spark Streaming实时计算框架.pptx
第7章SparkStreaming实时计算框架
《Spark大数据分析与实战(第2版)》
熟悉SparkStreaming的工作原理,能够叙述SparkStreaming如何处理数据流
了解什么是实时计算,能够说出实时计算的特征以及应用场景
了解SparkStreaming简介,能够说出SparkStreaming的优点和缺点
学习目标/Target
山
+
掌握SparkStreaming整合Kafka,能够使用Direct方式接收Kafka输入的数据流
熟悉SparkStreaming的DStream和编程模型,能够叙述DStream的结构和编程模型的构成
掌握SparkStreaming的API操作,能够使用ScalaAPI实现输入操作、转换操作、输出操作和窗口操作
学习目标/Target
山
+
数据的业务价值随着时间的流逝会迅速降低,因此在数据发生后必须尽快对其进
行计算和处理,而传统的大数据处理模式对于数据加工均遵循传统日清日毕模式,即以小时甚至以天为计算周期对当前数据进行累计并处理,显然这类处理模式无法满足对数据实时处理的需求,此时新的大数据处理模式实时计算便应运而生。
Spark中的SparkStreaming就是为了满足实时计算需求而设计的框架。本章以实时计算为基础逐步讲解SparkStreaming的相关知识。
章节概述/Summary
实时计算概述
SparkStreaming的概述
SparkStreaming的DStream
目录/Contents
01
02
03
04SparkStreaming的编程模型
05SparkStreaming的API操作
06SparkStreaming整合Kafka
目录/Contents
3
③
实时计算概述
7.1
7.1实时计算概述
学习目标
了解什么是实时计算,能够说出
实时计算的特征以及应用场景。
实时计算的产生来源于对数据计算时效性的严苛需求,其主要
是针对实时数据流的计算。实时数据流是指由数千个数据源持续生成的数据,这些数据通常以记录的形式进行发送,但相较于离线数据流,实时数据流普遍的规模较小。实时数据流产生的源头多种多样,例如Web应用程序生成的日志文件、电商网站数据、游戏玩家活动数据、社交网站信息等。
7.1实时计算概述
实时计算面对的数据是实时且无界的,其中实时是指数据流是按照时间发生顺序被实时地计算;无界是指由于数据发生的持续性,数据流将长久且持续地进行实时计算。
实时计算的高效性在于其事件触发的机制,而这个触发源便是无界的数据流。
通过数据流触发的实时计算,一旦计算完成,结果可以被直接写入存储系统。
7.1实时计算概述
在大数据领域中,实时计算具备有3个特征。
实时计算特征
7.1实时计算概述
随着实时技术发展趋于成熟,实时计算应用越来越广泛,常见的实时计算的应用场景如下。
③
7.2SparkStreaming的概述
学习目标
了解SparkStreaming简介,能
够说出SparkStreaming的优点和缺点。
7.2.1SparkStreaming简介
SparkStreaming是Spark的第一代实时计算框架,它是SparkCoreAPI的一个扩展,可以实现高吞吐
量、可扩展的实时数据流容错处理。SparkStreaming与传统的实时计算架构(如Storm)相比,最大的不同点在于它对数据是粗粒度的处理方式,即将输入的数据以某一时间间隔,划分成多个批(Batch)数据,然后对每个批数据进行处理,即批处理,当批处理间隔缩短到一定程度时,便可以用于处理实时计算。而其他实时计算框架往往采用细粒度的处理模式,即一次处理一条数据。SparkStreaming这样的设计既为其带来了显而易见的优点,又引入了不可避免的缺点。
优点缺点
7.2.1SparkStreaming简介
容错性
多学一招:其他常见的实时计算工具
Streaming实时计算框架外,大数据领域中,常见的实时计算工具还有ApacheStructured
7.2.1SparkStreaming简介
Streaming、ApacheStorm以及ApacheFlink。
除了Spark
学习目标
熟悉SparkStreaming的工作原
理,能够叙述SparkStreaming如何处理数据流。
7.2.2S