Spark Streaming 入门
概述
什么是 Spark Streaming?
Spark Streaming is an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processing of live data streams.
根据官网的解释,Spark Streaming是一个基于Spark Core的一个高扩展,高吞吐量,容错的一个处理实时流数据的 工具(流处理).
数据的流处理
Data can be ingested from many sources like Kafka, Flume, Kinesis, or TCP sockets, and can be processed using complex algorithms expressed with high-level functions like map, reduce, join and window. Finally, processed data can be pushed out to filesystems, databases, and live dashboards.
官网说明中,可以发现,数据可以是Kafka,Flume等数据源头,经过相应的转化处理,可以将处理的结果push到外部文件系统,数据库等
处理流程图
一句话总结:将不同的数据源经过Spark Streaming处理,接着将处理的结果输出到外部文件系统
其中,Spark Streaming拥有下面几个特性:
- 高度容错(能够从错误中快速恢复过来)
- 能够运行在成百上千的机器节点上
- 具有低延时
- 可以结合机器学习,图计算等同层框架做相应处理
上面的第四点,想强调一下,这个特性很重要的,这样我们就可以结合其余的子框架来做更复杂的处理.这点也体现了
One Stack to rule them all.
"一栈式解决不同场景"
工作原理
Internally, it works as follows. Spark Streaming receives live input data streams and divides the data into batches, which are then processed by the Spark engine to generate the final stream of results in batches.
官网说明中,可以发现,Spark Streaming会去接收实时输入的数据流,将接收的数据流按照要求分成一些小批次数据,将拆分的每一个小批次数据交给Spark Engine去处理,最终,也会得到一些小批次的处理结果
如图所示:
Spark Streaming应用场景
简单举个大家熟悉的例子:
Spark Streaming可以用来做电商网站的实时推荐商品系统
,想想,现在,当你在购物网站上搜索浏览了某个数据,那么,马上它就会为你实时推荐相应的商品,供你选择,这样,可以加大网站的盈利
再次理解Spark Streaming的工作原理
工作原理(粗粒度)
Spark Streaming接收到实时数据流,将数据按照指定的时间切成一些小的数据块,然后将一系列的小的数据库传给Spark Engine去处理.最后,将处理的结果,push到外部文件系统数据库等.
工作原理(细粒度)
先理解一下有一个叫做Context上下文的概念;
Spark SQL中有:
SQL Context/HiveContext
Spark Core中有:
SparkContext
Spark Streaming中有:
Streaming Context等概念
Receiver:Driver端启动的,用于接收数据
一个Spark应用程序中存在SparkContext和SparkContext
[上图,来自慕课网Michael__PK老师]
处理步骤:
- Driver会在Executor端中启动一些Receiver的接收器,
- 接收器启动之后,会把Input data Stream拆分为一些blocks存放在内存里面(多副本的话,会把blocks拷贝到相应的Executor中去),
- 之后,我们的Receiver会把我们blocks块信息告诉StreamingContext
- ,每个周期到了,我们的StreamingContex会通知SparkContext启动一些jobs,
- SparkContext会把job分发到Executor上执行
好的,到这里,Spark Streaming的基本介绍就完成了,接下来我们队核心概念进行理解
Spark Streaming 入门的更多相关文章
- spark streaming 入门例子
spark streaming 入门例子: spark shell import org.apache.spark._ import org.apache.spark.streaming._ sc.g ...
- Spark Streaming入门
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文将帮助您使用基于HBase的Apache Spark Streaming.Spark Streaming是Spark API核心的一个扩 ...
- Spark Streaming 入门指南
这篇博客帮你开始使用Apache Spark Streaming和HBase.Spark Streaming是核心Spark API的一个扩展,它能够处理连续数据流. Spark Streaming是 ...
- Spark基础:(七)Spark Streaming入门
介绍 1.是spark core的扩展,针对实时数据流处理,具有可扩展.高吞吐量.容错. 数据可以是来自于kafka,flume,tcpsocket,使用高级函数(map reduce filter ...
- 学习笔记:spark Streaming的入门
spark Streaming的入门 1.概述 spark streaming 是spark core api的一个扩展,可实现实时数据的可扩展,高吞吐量,容错流处理. 从上图可以看出,数据可以有很多 ...
- Spark Streaming笔记
Spark Streaming学习笔记 liunx系统的习惯创建hadoop用户在hadoop根目录(/home/hadoop)上创建如下目录app 存放所有软件的安装目录 app/tmp 存放临时文 ...
- Update(Stage4):Spark Streaming原理_运行过程_高级特性
Spark Streaming 导读 介绍 入门 原理 操作 Table of Contents 1. Spark Streaming 介绍 2. Spark Streaming 入门 2. 原理 3 ...
- Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Spark Streaming简介 1.1 概述 Spark Streaming 是Spa ...
- Spark入门实战系列--7.Spark Streaming(下)--实时流计算Spark Streaming实战
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .实例演示 1.1 流数据模拟器 1.1.1 流数据说明 在实例演示中模拟实际情况,需要源源 ...
随机推荐
- com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: con ...
- Docker学习总结(二)--Docker安装与启动
注:笔者使用的环境为 CentOS 7.6,如果版本不一致可能会出现一些错误. 安装 Docker 1)将 yum 包更新到最新版本 sudo yum update 2) 安装需要的软件包 sudo ...
- C#数据结构_图
顶点的度=顶点的入度+顶点的出度. 顶点 v 的入度是指以该顶点 v 为弧头的弧的数目:顶点 v 的出度是指以该顶点 v 为弧尾的弧的数目. 简单路径:一条路径上顶点不重复出现. 回路:第一个顶点和最 ...
- C#数据结构_排序
/** * 冒泡排序 * * @param array * @return */ public static int[] bubbleSort(int[] array) { if (array.len ...
- 从入门到入土的JS 随笔day01
js 的全称是javascript ,JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型. 它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用 ...
- chrome总是崩溃
1.在chrome浏览器打开chrome://plugins/ 2.找到不正常的插件,停用即可.比如有的插件安装了2个版本,停用低版本的即可.
- hdu-6601 Keen On Everything But Triangle
题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=6601 Description N sticks are arranged in a row, and ...
- POJ-2153Colored Sticks解题报告+欧拉回路,字典树,并查集;
传送门:http://poj.org/problem?id=2513 题意:给你许多木棍,木棍两端都有颜色,问能不能首尾相接,要求颜色相同. 参考:https://www.cnblogs.com/ku ...
- CF - 1107 E Vasya and Binary String DP
题目传送门 题解: dp[ l ][ r ][ k ] 代表的是[l, r]这段区间内, 前面有k-1个连续的和s[l]相同且连续的字符传进来的最大值. solve( l, r, k) 代表的是处理 ...
- Codeforces Round #481 (Div. 3) C. Letters
题目地址:http://codeforces.com/contest/978/problem/C 题解:有n个宿舍,每个宿舍人不一样多,有m封信,每封信送给对应的第m间房间,问这封信是给第几个宿舍,第 ...