首页技术文章正文

云计算大数据培训之Spark-Streaming的基本原理以及预写日志机制和checkpoint(1)

更新时间:2017-09-01 来源:黑马程序员云计算大数据培训学院 浏览量:

首先我们要先了解什么是Spark-Streaming: 

Spark Streaming是Spark Core API的一种扩展,它可以用于进行大规模、高吞吐量、容错的实时数据流的处理。它支持从很多种数据源中读取数据,比如Kafka、Flume、Twitter、ZeroMQ、Kinesis或者是TCP Socket。并且能够使用类似高阶函数的复杂算法来进行数据处理,比如map、reduce、join和window。处理后的数据可以被保存到文件系统、数据库、Dashboard等存储中。


接下来要知道Spark-Streaming的基本运行原理: 

Spark-Streaming内部的基本工作原理如下:接收实时输入数据流,然后将数据拆分成多个batch,比如每收集5秒的数据封装为一个batch,然后将每个batch交给Spark的计算引擎进行处理,最后会生产出一个结果数据流,其中的数据,也是由一个一个的batch所组成的。


关于Spark-Streaming的高级抽象 

Spark-Streaming提供了一种高级的抽象,叫做DStream,英文全称为Discretized Stream,中文翻译为“离散流”,它代表了一个持续不断的数据流。DStream可以通过输入数据源来创建,比如Kafka、Flume和Kinesis;也可以通过对其他DStream应用高阶函数来创建,比如map、reduce、join、window。 

DStream的内部,其实一系列持续不断产生的RDD。RDD是Spark Core的核心抽象,即,不可变的,分布式的数据集。DStream中的每个RDD都包含了一个时间段内的数据。


接下来就是一些关于面试时的大杀器:


Spark-Streaming checkPoing概述


每一个Spark Streaming应用,正常来说,都是要724小时运转的,这就是实时计算程序的特点,因为要持续不断地对数据进行计算,因此,对实时计算应用的要求,应该是必须要能够对应用程序逻辑无关的失败,进行容错,如果要实现这个目标,Spark-Streaming程序就必须讲座狗的信息checkpoint到容错的存储系统上,从而让它能够错失败中进行恢复


如何对dstream做checkpoint 

首先设置还原点目录,其次调用dstream的checkpoint方法 

【注意】:dstream的checkpoint的周期一定要是产生batch的时间的整数倍,同时官方建议将checkpoint的事件设置为至少10秒, 

通常来说,将checkpoint间隔设置为窗口操作的滑动间隔的5~10倍是个不错的选择

本文版权归黑马程序员云计算大数据培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员云计算大数据培训学院
首发:http://cloud.itheima.com/
分享到:
在线咨询 我要报名
和我们在线交谈!