当前位置: 首页 > news >正文

[平台运维、Hadoop]Spark Streaming 实时计算框架

##国庆节🎈🎈

博主:发量不足🌈🌈

下期预告:Spark的DStream

目录

实时计算的基础知识

一.什么是实时计算

二.常用的实时计算框架

Spark Streaming的基础知识

一.Spark Streaming简介


实时计算的基础知识

一.什么是实时计算

在大数据技术中,有离线计算、批量计算、实时计算以及流式计算,其中,离线计算和实时计算指的是数据处理的延迟;批量计算和流式计算指的是数据处理的方式

二.常用的实时计算框架

1. Apache Spark Streaming

Apache Spark Streming即Apache公司免费、开源的实时计算框架。它主要是把输入数据按时间进行切分,并对切分的数据块进行并行计算处理,处理的速度可以达到秒级。Netflix公司通过Kafka和Spark Streming构建了实时引擎.对每天从各种数据源接收到的数十亿数据进行分析,从而完成电影的推荐功能。

2. Apache Storm

Apache Storm即Twitter公司免费、开源贡献给Apache的一个分布 式实时计算系统。它可以简单、高效、可靠地实时处理海量数据,处理数据的速度达到毫秒级别,并可将处理后的结果数据保存到持久化介质中(如数据库、HDFS)。阿里巴巴公司的JStorm,就是参考Apache Storm开发的实时计算框架,可以说是Strom的增强版本,在网络IO、线程模型、资源调度、可用性及稳定性上都做了极大的改进,供很多企业使用。

3. Apache Flink

Apache Flink 即Apache公司开源的计算框架。它不仅可以支持离线处理,还可以支持实时处理。由于离线处理和实时处理所提供的SLA(服务等级协议)是完全不相同的,所以离线处理一般需要支持低延迟的保证,而实时处理则需要支持高吞吐、高效率的处理。

4. Yahoo! S4(Simple Scalable Streaming System)

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

Spark Streaming的基础知识

一.Spark Streaming简介

Spark Streming是构建在Spark上的实时计算框架,且是对Sparks Core API的一个扩展,它能够实现对流数据进行实时处理,并具有很好的可扩展性、高吞吐量和容错性。

Spark Streaming特点:

(1)易用性。

Spark Streaming支持Java、Python、Scala等编程语言,可以像编写离线程序一样编写实时计算的程序。

(2)容错性。

Spark Streaming在没有额外代码和配置的情况下,可以恢复丢失的数据。对于实时计算来说,容错性至关重要。首先要明确一下Spark中RDD的容错机制,即每一一个 RDD都是一个不可变的分布式可重算的数据集,它记录着确定性的操作继承关系(lineage),所以只要输人数据是可容错的,那么任意一个RDD的分区(Partition)出错或不可用,都可以使用原始输人数据经过转换操作重新计算得到。

(3)易整合性。

Spark Streaming 可以在Spark上运行,并且还允许重复使用相同的代码进行批处理。也就是说,实时处理可以与离线处理相结合,实现交互式的查询操作

相关文章:

  • 【云原生丨Kubernetes系列15】创建 ConfigMap 资源对象
  • 时空复杂度题目讲解
  • SpringBoot员工管理的项目——SpringBoot后台数据库的搭建(课时十四)
  • Qt+Opencv+Ffmpeg实时摄像头数据推流,并在WEB端显示
  • 6.3 马氏链-常返性
  • 检测点云中的目标(ROS2 Tao-PointPillars)
  • 医院科室管理系统(IDEA开发)
  • 2 Oracle 安装(附详细安装操作手册)
  • 谣言检测论文精读——11.SAFE: Similarity-Aware Multi-Modal Fake News Detection
  • 【华为机试真题 Python实现】找单词
  • Android应用安全指南-反逆向
  • Oracle数据库的表空间(一)
  • C | 实用调试技巧
  • 使用nvm安装node
  • 【算法】剑指offer-调整数组顺序数组出现超过一半的数字
  • [译] 怎样写一个基础的编译器
  • Django 博客开发教程 16 - 统计文章阅读量
  • ES学习笔记(12)--Symbol
  • JavaScript设计模式系列一:工厂模式
  • JS+CSS实现数字滚动
  • magento2项目上线注意事项
  • overflow: hidden IE7无效
  • Promise初体验
  • 成为一名优秀的Developer的书单
  • 初识 webpack
  • 利用DataURL技术在网页上显示图片
  • 那些年我们用过的显示性能指标
  • 前端路由实现-history
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 以太坊客户端Geth命令参数详解
  • 正则与JS中的正则
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • gunicorn工作原理
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • #ifdef 的技巧用法
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (1)虚拟机的安装与使用,linux系统安装
  • (TOJ2804)Even? Odd?
  • (附源码)springboot工单管理系统 毕业设计 964158
  • (蓝桥杯每日一题)love
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • . NET自动找可写目录
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .net用HTML开发怎么调试,如何使用ASP.NET MVC在调试中查看控制器生成的html?
  • @JsonSerialize注解的使用
  • @selector(..)警告提示
  • @synthesize和@dynamic分别有什么作用?
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [20140403]查询是否产生日志
  • [20170728]oracle保留字.txt