大数据流式计算之Spark Streaming

大数据流式计算之Spark Streaming

一、Scala编程基础

1.什么是Scala语言?

在这里插入图片描述
List item
-List item
三种函数示例在这里插入图片描述

二、什么是流式计算

1、流式计算的背景

在日常生活中,我们通常会先把数据存储在一张表中,然后再进行加工、分析,这里就涉及到一个时效性的问题。如果我们处理以年、月为单位的级别的数据,那么多数据的实时性要求并不高;但如果我们处理的是以天、小时,甚至分钟为单位的数据,那么对数据的时效性要求就比较高。在第二种场景下,如果我们仍旧采用传统的数据处理方式,统一收集数据,存储到数据库中,之后在进行分析,就可能无法满足时效性的要求。

二、流式计算与批量计算

大数据的计算模式主要分为批量计算(batch computing)、流式计算(stream computing)、交互计算(interactive computing)、图计算(graph computing)等。其中,流式计算和批量计算是两种主要的大数据计算模式,分别适用于不同的大数据应用场景。

流数据(或数据流)是指在时间分布和数量上无限的一系列动态数据集合体,数据的价值随着时间的流逝而降低,因此必须实时计算给出秒级响应。流式计算,顾名思义,就是对数据流进行处理,是实时计算。批量计算则统一收集数据,存储到数据库中,然后对数据进行批量处理的数据计算方式。主要体现在以下几个方面:

1、数据时效性不同:流式计算实时、低延迟, 批量计算非实时、高延迟。

2、数据特征不同:流式计算的数据一般是动态的、没有边界的,而批处理的数据一般则是静态数据。

3、应用场景不同:流式计算应用在实时场景,时效性要求比较高的场景,如实时推荐、业务监控…批量计算一般说批处理,应用在实时性要求不高、离线计算的场景下,数据分析、离线报表等。

4、运行方式不同,流式计算的任务持续进行的,批量计算的任务则一次性完成。

在这里插入图片描述

三、Spark Streaming的基本原理

在这里插入图片描述

在这里插入图片描述

  • 准备一台搭建好hadoop的环境的linux服务器,可参考https://blog.csdn.net/Test_508337940/article/details/108252498进行搭建

  • 下载spark包,注意得和Hadoop的版本相对应。在这里插入图片描述

  • 使用tar zxvf spark-3.0.0-bin-hadoop2.7解压该文件

  • 注意spark和hadoop的命令是有冲突的,所以只能设置一个,我们这里是设置的Hadoop的,所以直接使用进入sbin/start-all.sh启动。

  • 使用nc -l -p 1234来启动netcat消息服务器

  • 在这里插入图片描述

  • 使用bin/run-example streaming.NetworkWordCount localhost 1234 接收来自网路服务器中1234端口的数据。启动完成后再消息服务器发送消息即可
    在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值