首页 > 其他分享 >Spark Streaming工作原理

Spark Streaming工作原理

时间:2024-01-19 12:45:33浏览次数:22  
标签:Core RDD Streaming 数据流 原理 Spark DStream

         说起Spark Streaming,玩大数据的没有不知道的,但对于小白来说还是有些生疏,所以本篇文章就来介绍一下Spark Streaming,以期让同行能更清楚地掌握Spark Streaming的原理。

      一:什么是Spark Streaming

      官方对于Spark Streaming的介绍是这样的(翻译过来的):Spark Streaming是Spark Core API(Spark RDD)的扩展,支持对实时数据流进行可伸缩、高吞吐量及容错处理。数据可以从Kafka、Flume、Kinesis或TCP Socket等多种来源获取,并且可以使用复杂的算法处理数据,这些算法由map()、reduce()、join()和window()等高级函数表示。处理后的数据可以推送到文件系统、数据库等存储系统。 

      二:Spark Streaming工作原理

     Spark Streaming接收实时输入的数据流,并将数据流以时间片(秒级)为单位拆分成批次(每个批次是一个RDD),然后将每个批次交给Spark引擎(Spark Core)进行处理,最终生成以批次组成的结果数据流。   

 

 

      Spark Streaming提供了一种高级抽象,称为DStream(Discretized Stream)。DStream表示一个连续不断的数据流,它可以从Kafka、Flume和Kinesis等数据源的输入数据流创建,也可以通过对其他DStream应用高级函数(例如map()、reduce()、join()和window())进行转换创建。在内部,对输入数据流拆分成的每个批次实际上是一个RDD,一个DStream则由多个RDD组成,相当于一个RDD序列。   

       DStream中的每个RDD都包含来自特定时间间隔的数据。   

      

        应用于DStream上的任何操作实际上都是对底层RDD的操作。例如,对一个DStream应用flatMap()算子操作,实际上是对DStream中每个时间段的RDD都执行一次flatMap()算子,生成对应时间段的新RDD,所有的新RDD组成了一个新Dstream。    

     对DStream中的RDD的转换是由Spark Core实现的,Spark Streaming对Spark Core进行了封装,提供了非常方便的高层次API。

 

标签:Core,RDD,Streaming,数据流,原理,Spark,DStream
From: https://www.cnblogs.com/tianpan666/p/17974371

相关文章

  • java线程核心原理
    1.线程的调度与时间片1.1java线程与操作系统现代操作系统(如Windows、Linux、Solaris)提供了强大的线程管理能力,Java不需要再进行自己独立的线程管理和调度,而是将线程调度工作委托给操作系统的调度进程去完成。在某些系统(比如Solaris操作系统)上,JVM甚至将每个Java线程一对一......
  • 论文翻译 | 【深入挖掘Java技术】「底层原理专题」深入分析一下并发编程之父Doug Lea
    前提介绍DougLea在州立大学奥斯威戈分校(DougLea)摘要本文深入探讨了一个Java框架的设计、实现及其性能。该框架遵循并行编程的理念,通过递归方式将问题分解为多个子任务,并利用工作窃取技术进行并行处理。所有子任务完成后,其结果被整合以形成完整的并行程序。在总体设计上,该框架借鉴......
  • 【新手友好】用Pyspark和GraphX解析复杂网络数据
    从零开始在本文中,我们将详细介绍如何在Python/pyspark环境中使用graphx进行图计算。GraphX是Spark提供的图计算API,它提供了一套强大的工具,用于处理和分析大规模的图数据。通过结合Python/pyspark和graphx,您可以轻松地进行图分析和处理。为了方便那些刚入门的新手,包括我自己......
  • 路由--工作原理
    什么是<router-view>?<router-view>是VueRouter提供的一个特殊组件。它的作用是作为一个占位符,用于显示当前路由对应的组件。如何理解"路由出口"?把<router-view>想象成一个电影院的屏幕。你可以在这个屏幕上播放不同的电影(组件),而哪部电影正在播放则取决于电影院的播......
  • spark streaming简介
    SparkStreaming用于流式数据处理(准实时,微批次),SparkStreaming支持的数据源很多,例如:kafka、Flume、简单的TCP套接字等,数据输入后可以用Spark的高度抽象原语,如:map、join、reduce、window等进行运算,而结果也可以保存在很多地方,如:hdfs、数据库等。和Spark基于RDD的概念很相似,Spark......
  • 【重点】【装饰器看这篇一】装饰器的原理【杭州多测师】【多测师_王sir】
     装饰器原理:自己写一个装饰器相当于函数里面还有一个函数,然后内部函数返回的是函数的调用,给到外部函数,使用装饰器的函数,会把整个函数当做是装饰器的入参传入到装饰器里面去进行处理,只要你被装饰、那么就相当于这个被装饰的函数的函数名=装饰器(被装饰的函数名)装饰器的作用:在不......
  • 【深入挖掘Java技术】「源码原理体系」盲点问题解析之HashMap工作原理全揭秘(下)
    承接上文在阅读了上篇文章《【深入挖掘Java技术】「源码原理体系」盲点问题解析之HashMap工作原理全揭秘(上)》之后,相信您对HashMap的基本原理和基础结构已经有了初步的认识。接下来,我们将进一步深入探索HashMap的源码,揭示其深层次的技术细节。通过这次解析,您将更深入地理解HashMap的......
  • Spark介绍
    ApacheSpark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeleyAMPlab(加州大学伯克利分校的AMP实验室)所开源的类HadoopMapReduce的通用并行计算框架,Spark拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不......
  • Spark-Yarn模式部署
    Spark-Yarn模式部署1.解压缩文件将spark-3.0.0-bin-hadoop3.2.tgz文件上传到linux并解压缩,放置在指定位置。#在/opt/software中tar-zxvfspark-3.0.0-bin-hadoop3.2.tgz-C/opt/modulecd/opt/modulemvspark-3.0.0-bin-hadoop3.2spark2.修改配置文件修改hadoop配......
  • spark中的shuffle
    在Spark中,Shuffle是一个核心概念和步骤,它是数据分发的过程,需要消耗大量的资源和时间。Shuffle的主要功能是将分布在各个节点上的同一类数据汇集到某一个节点上进行计算,此过程有助于提高整体性能和吞吐量。同时,Shuffle作为连接Map阶段和Reduce阶段的桥梁,其性能受到磁盘和网......