【大数据技术】流数据、流计算、Spark Streaming、DStream的讲解(图文解释 超详细)

news2024/11/24 9:15:29

流数据和流计算

在大数据时代,数据可以分为静态数据和流数据,静态数据是指在很长一段时间内不会变化,一般不随运行而变化的数据。流数据是一组顺序、大量、快速、连续到达的数据序列,一般情况下数据流可被视为一个随时间延续而无限增长的动态数据集合。应用于网络监控、传感器网络、航空航天、气象测控和金融服务等领域

但是,在大数据时代,不仅数据格式复杂、来源众多,而且数据量巨大,这就对实时计算提出了很大的挑战。因此,针对流数据的实时计算——流计算,应运而生。

一般的来说,流计算秉承一个基本理念,即数据的价值随着时间的流逝而降低。因此,当事件出现时就应该立即进行处理,而不是缓存起来进行批量处理。为了及时处理流数据,就需要一个低延迟、可扩展、高可靠的处理引擎。

对于一个流计算系统来说,它应达到如下需求。

高性能。处理大数据的基本要求,如每秒处理几十万条数据。

海量式。支持TB级甚至是PB级的数据规模。

实时性。必须保证一个较低的延迟时间,达到秒级别,甚至是毫秒级别。

分布式。支持大数据的基本架构,必须能够平滑扩展。

易用性。能够快速进行开发和部署。

可靠性。能可靠地处理流数据

流计算处理过程包括数据实时采集、数据实时计算和实时查询服务

常用的实时计算框架

1.  Apache Spark Streaming

Apache公司开源的实时计算框架。Apache Spark Streaming主要是把输入的数据按时间进行切分,切分的数据块并行计算处理,处理的速度可以达到秒级别。

2.  Apache Storm

Apache公司开源的实时计算框架,它具有简单、高效、可靠地实时处理海量数据,处理数据的速度达到毫秒级别,并将处理后的结果数据保存到持久化介质中(如数据库、HDFS)。

3.  Apache Flink

Apache公司开源的实时计算框架。Apache Spark Streaming主要是把输入的数据按时间进行切分,切分的数据块并行计算处理,处理的速度可以达到秒级别。

4.  Yahoo!S4

Yahoo公司开源的实时计算平台。Yahoo!S4是通用的、分布式的、可扩展的,并且还具有容错和可插拔能力,供开发者轻松地处理源源不断产生的数据。

Spark Streaming简介

SparkStreaming是构建在Spark上的实时计算框架,且是对Spark Core API的一个扩展,它能够实现对流数据进行实时处理,并具有很好的可扩展性、高吞吐量和容错性。Spark Streaming具有易用性、容错性及易整合性的显著特点。

Spark Streaming可整合多种输入数据源,如Kafka、Flume、HDFS,甚至是普通的TCP套接字。经处理后的数据可存储至文件系统、数据库,或显示在仪表盘里。

DStream简介

Spark Streaming提供了一个高级抽象的流,即DStream(离散流)。DStream表示连续的数据流,可以通过Kafka、Flume等数据源创建,也可以通过现有DStream的高级操作来创建。DStream的内部结构是由一系列连续的RDD组成,每个RDD都是一小段时间分隔开来的数据集。对DStream的任何操作,最终都会转变成对底层RDDs的操作。

例如,下图展示了进行单词统计时,每个时间片的数据(存储句子的RDD)经flatMap操作,生成了存储单词的RDD。整个流式计算可根据业务的需求对这些中间的结果进一步处理,或者存储到外部设备中

 创作不易 觉得有帮助请点赞关注收藏~~~ 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/101388.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

脑白质WM中的血流动力学响应函数HRF的特性

血流动力学响应函数HRF 估计BOLD信号的血流动力学响应函数(HRF)对于解释和分析与事件相关的fMRI数据至关重要广义线性模型(GLM)假设BOLD信号是真实反应与HRF进行卷积而得到的 一般来说,白质中功能激活的检测灵敏度远低于灰质,并且激活区域一般较小 原因…

[附源码]Nodejs计算机毕业设计健身房管理系统设计Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

J-003 Jetson电路设计之USB设计--NANO XAVIER NX

USB设计1 简介2 框图介绍3 USB HUB设计3.1电源部分3.2 芯片引脚3.3 晶振电路4 电源控制4.4 电源开关电路设计4 调试USB电路设计1 简介 NANO & XAVIER NX提供三路USB接口,其中包含一路调试USB(用于镜像下载)和一路USB3.2接口。引脚说明: …

编码踩坑——MySQL更新存放JSON的字段、\“ 转义成 “

本篇介绍在执行MySQL线上变更时遇到的问题,表现为"更新JSON字段时,实际更新的值与SQL语句中的值不一致,JSON格式错误",如下; 问题描述 处理线上问题,需要新插入一条记录;将原JSON粘贴…

Jenkins(2)— 配置webhooks触发器

1、项目配置 项目配置 >> 构建触发器 >> 选择Gitee webhook触发器 生成Gitee WebHook密码:46d678257c0399b105635bcb9722ea09 2、Gitee配置 Gitee项目 >> 管理 >> 配置WebHooks 注意: 由于我的jenkins是部署在本地的&#xff…

element-ui+js+vue——实现图片的放大缩小拖动等功能——技能提升

elementuijsvue——实现图片组件的封装 1. 实现图片的放大缩小 2. 实现图片的拖动功能 3. 实现图片的预览最近同事在写一个关于 图片放大缩小拖动的功能,其实不止是图片,只要是在以下组件中的内容,都是可以支持放大缩小拖动的。 功能&#x…

Web前端项目的跨平台桌面客户端打包方案之——CEF框架

文章目录1、什么是CEF2、测测你电脑里的CEF3、从0开始的CEF入门实例1、什么是CEF CEF是什么 概念 Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件。 CEF的目标是为第三方应用提供可嵌入浏览器支持。CEF隔离底层Chromium和Blink的复杂代码…

靠着数套的Java刷题PDF,成功“混进”腾讯T3

昨晚半夜,一个学Java的老弟突然打电话告诉我他拿到了腾讯T3的offer,说实话,我有点诧异。。。 这老弟也是渣硕一枚,去投岗了腾讯的Java后台开发岗位。等了一个星期后简历被放回池子里了,眼看着提前批马上就要截止了&am…

jsp+ssm计算机毕业设计多媒体课程精品课程网站【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

海量数据小内存!从未出现过的数在哪里

文章目录题目要求1)内存 1G2)内存 3 KB3)内存 有限变量举例题目 现在有 40 亿个无符号整数,无符号整数的范围是 0 ~ 232-1(42亿),哪怕 40 亿个数完全不同,在该范围中也总有没有出现…

傻白探索Chiplet,关于EPYC Zen2 的一些理解记录(五)

目录 一、知识铺垫 (1)Chiplet (2)Zen架构 (3)EPYC和Ryzen (4)EPYC Zen2 二、关于EPYC Zen2里的部件 (1)内存控制器 (2&#xff…

Python本地下载-实例的SQL审计日志

简介:使用阿里云的RDS数据库,开启DAS的数据库治理服务。会产生大量的审计日志。 我们有2T的审计日志数据,保留180天,每小时收费空间:0.008元/GB/小时 计算下来:2x1024x 24x 30 x 0.008 11796 元 解决&…

分类预测 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络分类预测(语音分类)

分类预测 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络分类预测(语音分类) 目录 分类预测 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络分类预测(语音分类)基本描述模型结构设计过程参考资料基本描述 传统的语音识别技术,主要在隐马尔可夫模型和高斯混合模型两大”神器“的加持…

[element plus] 分页组件使用 - vue

学习关键语句: 饿了么加组件分页组件 element分页组件 vue3 饿了么分页组件 写在前面 必须要说明的是 , 这篇文章使用的分页组件样式包含了饿了么官方给出警告以后会弃用的部分 但是问题是什么呢? 问题就是我还没找到这个用 vmodel 绑定的使用方法 , 再加上现在也算是有点…

C++代码简化之道

1. 善用emplace C11开始STL容器出现了emplace(置入)的语义。比如 vector、map、unordered_map,甚至 stack和 queue都有。 emplace方便之处在于,可以用函数参数自动构造对象,而不是向vector的push_back,ma…

论文投稿指南——中文核心期刊推荐(电工技术2)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

机器人开发--霍尔元件

机器人开发--霍尔元件1 霍尔效应2 霍尔元件特点3 霍尔传感器的典型应用电流传感器位移测量测转速或转数参考1 霍尔效应 霍尔效应是电磁效应的一种,这一现象是美国物理学家霍尔于1879年在研究金属的导电机制时发现的。当电流垂直于外磁场通过半导体时,载…

ORB-SLAM2 --- Tracking::SearchLocalPoints函数解析

1.函数作用 用局部地图点进行投影匹配,得到更多的匹配关系。 局部地图点中已经是当前帧地图点的不需要再投影,只需要将此外的并且在视野范围内的点和当前帧进行投影匹配。 2.函数流程 Step 1:遍历当前帧的地图点,标记这些地图点不…

Mycat(6):mycat简单配置

1 找到conf/schema.xml并备份 2 配置虚拟表table[在schema里面] 其中 sharding-by-intfile 为rule.xml中的规则 规则文件为conf文件夹中的partition-hash-int.txt 3 配置数据节点dataNode 现在数据库新建3个数据库,skywalking,skywalking1,s…

[附源码]计算机毕业设计Python的低碳生活记录网站(程序+源码+LW文档)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…