Spark Stream

devtools/2024/10/21 15:43:33/

一、Spark Streaming是什么

Spark Streaming 用于流式数据的处理。Spark Streaming 支持的数据输入源很多,例如:Kafka、Flume、Twitter、ZeroMQ 和简单的 TCP 套接字等等。数据输入后可以用 Spark 的高度抽象原语如:map、reduce、join、window 等进行运算。而结果也能保存在很多地方,如 HDFS,数据库等

image-20240503212007412

Spark Streaming 是 Spark Core 的扩展,它支持高吞吐量、可容错的实时数据流处理。在 Spark Streaming 中,数据被切分为一系列连续的批处理,每个批处理被当作一个 RDD。

二、Spark Streaming的特点

1.易用、2.容错、3.易整合到Spark体系

三、Spark Streaming 常用的 API

  1. StreamingContext: 这是 Spark Streaming 的主要入口点,用于创建和配置流式计算。

    
    
  2. textFileStream(directory): 从指定目录中读取新文件作为数据源。

    
    
  3. queueStream(rddQueue): 从给定的RDD队列中获取数据。

    
    
  4. socketTextStream(hostname, port): 从指定主机名和端口上的TCP套接字接收数据。

    
    
  5. receiverStream(blockReceiver): 使用自定义的BlockReceiver来接收数据。

    
    
  6. fileStream(directory): 监视指定目录下的新文件,与textFileStream类似,但可以设置检查间隔和滚动时间间隔。

    
    
  7. foreachRDD(func): 对每个RDD执行操作,通常用于将数据写入外部系统或进行复杂的批处理操作。

    
    
  8. count(): 返回每个批次中的元素数量。

    
    
  9. reduce(func): 使用给定的函数将所有元素聚合成一个值。

    
    
  10. collect(): 将数据收集到驱动程序节点上。

    
    
  11. updateStateByKey(func): 根据键值更新状态。

    
    
  12. mapWithState(func): 使用给定的函数和状态映射RDD。

    
    
  13. window(windowLength, slideInterval): 创建一个滑动窗口。

    
    
  14. reduceByWindow(func, windowLength, slideInterval): 在给定的窗口长度和滑动间隔内进行归约操作。

    
    
  15. transform(rddFunc, outputMode): 使用给定的RDD函数转换输入RDD。

    
    
  16. union(otherStream): 合并两个DStream。

    
    
  17. intersection(otherStream): 计算两个DStream的交集。

    
    
  18. subtract(otherStream): 计算两个DStream的差集。

    
    
  19. join(otherStream): 连接两个DStream。

    
    
  20. filter(func): 过滤DStream中的元素。

    
    
  21. flatMap(func): 扁平化DStream中的元素。

    
    
  22. map(func): 映射DStream中的元素。

    
    
  23. foreachRDD(func): 对每个RDD执行操作,但不返回结果。

    
    
  24. start(): 启动流式计算。

    
    
  25. awaitTermination(): 等待流式计算终止。

    
    

这些 API 提供了强大的功能,使 Spark Streaming 能够处理各种实时数据流任务。


http://www.ppmy.cn/devtools/31659.html

相关文章

分享一篇关于AGI的短文:苦涩的教训

学习强化学习之父、加拿大计算机科学家理查德萨顿( Richard S. Sutton )2019年的经典文章《The Bitter Lesson(苦涩的教训)》。 文章指出,过去70年来AI研究走过的最大弯路,就是过于重视人类既有经验和知识&…

《金融研究》:普惠金融改革试验区DID工具变量数据(2012-2023年)

数据简介:本数据集包括普惠金融改革试验区和普惠金融服务乡村振兴改革试验区两类。 其中,河南兰考、浙江宁波、福建龙岩和宁德、江西赣州和吉安、陕西铜川五省七地为普惠金融改革试验区。山东临沂、浙江丽水、四川成都三地设立的是普惠金融服务乡村振兴…

关于YOLO8学习(五)安卓部署ncnn模型--视频检测

前文 关于YOLO8学习(一)环境搭建,官方检测模型部署到手机 关于YOLO8学习(二)数据集收集,处理 关于YOLO8学习(三)训练自定义的数据集 关于YOLO8学习(四)模型转换为ncnn 简介 本文将会讲解: (1)使用前文生成的ncnn模型,部署到安卓端,并且实现视频中,人脸的检测…

嵌入式开发四:STM32 基础知识入门

为方便更好的学习STM32单片机,本篇博客主要总结STM32的入门基础知识,重点在于理解寄存器以及存储器映射和寄存器映射,深刻体会STM32是如何组织和管理庞大的寄存器,从而提高开发效率的,为后面的基于标准库的开发做好铺垫…

ElasticSearch01(ES简介,安装ES,操作索引,操作文档,RestAPI)【全详解】

目录 一、ES简介 1. 数据库查询的问题 2. ES简介 1 ElasticSearch简介 2 ElasticSearch发展 3. 倒排索引【面试】 1 正向索引 2 倒排索引 4. ES和MySql 5. 小结 二、安装ES 1. 方式1:使用docker安装 1 准备工作 2 创建ElasticSearch容器 3 给ElasticSearch配置i…

MySQL存储引擎的选择与深度解析:InnoDB vs MyISAM,以及Memory和Archive

引言 MySQL是一个开源的关系型数据库管理系统,它提供了多种存储引擎以适应不同的应用场景和需求。每种存储引擎都有其独特的特点和优势,如InnoDB、MyISAM、Memory和Archive等。本文将深入探讨这些存储引擎的区别,并提供如何选择合适的存储引…

SPRING-CLOUD从入门到精通

第一章> 1、微服务零基础 2、从X和H版本说起 3、Cloud组件 4、微服务架构 5、Eureka服务注册与发现 第二章> 6、Zookeeper 7、Consul 8、Ribbon均衡 9、OpenFeign 10、Hystrix断路器 第三章> 11、…

前端 TS

类型: 类型例子描述number1, -33, 2.5任意数字string‘hi’, “hi”, hi任意字符串booleantrue、false布尔值true或false字面量其本身限制变量的值就是该字面量的值any*任意类型unknown*类型安全的anyvoid空值(undefined)没有值(或…