《Spark Streaming实时流式大数据处理实战》 ——1.2.2 Spark Streaming初识
【摘要】 本节书摘来自华章计算机《Spark Streaming实时流式大数据处理实战》 —— 书中第1章,第1.2.2节,作者是肖力涛 。
1.2.2 Spark Streaming初识
在Spark的核心基础上,Spark Streaming是一个高吞吐、高容错的实时流处理系统。Spark Streaming可以从Kafka、Flume、Kinesis或者TCP套接字获取数据,然后利用复杂的操作(如map、reduce、window等)对其进行处理,最终将处理后的数据输出到文件系统、数据库或者控制台等,输入与输出的过程如图1.6所示。
图1.6 Spark Streaming输入和输出过程
实际上,Spark Streaming在接收到实时的流数据时,会将其按照批数据(batch)来处理,之后再对批数据进行操作得到最终的结果数据流,如图1.7所示。
图1.7 Spark批数据处理过程
可以看出,Spark Streaming在内部采用了上述介绍流式处理框架时提到的微批处理的处理模式,而非直接对原始数据流进行处理。Spark Streaming对这种处理方式做了一个更高层的抽象,将原始的连续的数据流抽象后得到的多个批处理数据(batches)抽象为离散数据流(discretized stream),即DStream。DStream本身有两种产生方式:一是从Kafka、Flume或者Kinesis等输入数据流上直接创建;二是对其他DStream采用高阶API操作之后得到(如map、flatMap等)。在其内部,DStream本质是由RDD数据结构的序列来表示的,关于RDD我们会在后续3.6节中进一步说明。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)