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

Spark-Streaming简介及核心编程

一、核心概念:

1.Spark-Streaming 是流式数据处理框架,基于 **DStream(离散化流)** 抽象,将实时数据划分为多个时间区间的 RDD 序列。

DStream 本质是RDD 序列,每个时间区间数据对应一个 RDD。

2.特点:

易用性:支持 Java、Python、Scala 等语言,编程方式类似离线处理。

容错性:无需额外配置即可恢复丢失数据。

易整合性:可与 Spark 批处理结合,支持离线与实时处理统一代码。

3.架构与机制:

背压机制:Spark 1.5 + 引入,通过spark.streaming.backpressure.enabled控制(默认false),根据作业执行情况动态调整数据接收速率,替代静态参数spark.streaming.receiver.maxRate。

实操案例:

WordCount 案例:通过socketTextStream读取 TCP 端口(如 9999)数据,经flatMap、map、reduceByKey等操作统计单词计数,时间间隔设置为3 秒

二、Spark-Streaming 核心编程

1.DStream 创建方式:

RDD 队列:通过ssc.queueStream(queueOfRDDs)创建,案例中使用队列循环添加 RDD(含 1-300 的整数),时间间隔4 秒,每次添加后线程休眠2000 毫秒。

自定义数据源:继承Receiver类,实现onStart(启动线程接收数据)和onStop方法,案例中监控端口 9999,时间间隔5 秒,通过receiverStream获取数据。

关键实现:

自定义CustomerReceiver类通过 Socket 读取指定端口数据,使用store(input)存储数据,并在连接中断时调用restart("restart")重启

相关文章:

  • UML 通信图对象协作:共享汽车系统交互脉络
  • 算力网络有关论文自用笔记(2)
  • 何东山团队提到的“真正真空”(zero-point-free vacuum)
  • Power BI企业运营分析——数据大屏搭建思路
  • DeepSeek在自动驾驶领域的创新应用
  • DOCA介绍
  • move闯关 (集合)
  • 嘻游后台系统与机器人模块结构详解:功能逻辑 + 定制改造实战
  • java实现 PDF中的图片文字内容识别
  • Javase 基础入门 —— 02 基本数据类型
  • 联易融受邀参加上海审计局金融审计处专题交流座谈
  • 测试开发 - Java 自动化测试核心函数详解
  • 进阶算法 第一课:贪心
  • 【趣味小游戏】--扫雷游戏
  • 小雨滴的奇妙旅行
  • 纽约大学具身智能体在城市空间中的视觉导航之旅!CityWalker:从海量网络视频中学习城市导航
  • vue项目中axios统一或单独控制接口请求时间
  • ROS 快速入门教程01
  • 基于大语言模型的减肥健身计划系统设计与实现
  • 《剥开卷积神经网络CNN的 “千层酥”:从基础架构到核心算法》
  • 合同约定拿850万保底利润?重庆市一中院:约定无效,发回重审
  • 中国与肯尼亚签署共同发展经济伙伴关系框架协定
  • 沈阳市委常委马原出任阜新市委副书记、市政府党组书记
  • 生态环境法典草案拟初审:应对气候变化等问题将作原则性规定
  • 人民论坛:是民生小事,也是融合大势
  • 上海开展2025年“人民城市 文明风采”群众性主题活动