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

Spark-Streaming(三)

一. kafka和flume的整合

任务需求一:利用flume监控某目录中新生成的文件,将监控到的变更数据发送给kafka,kafka将收到的数据打印到控制台

1. 在flume/conf/目录下添加flume-kafka.conf文件

配置文件如下

2. 启动flume和kafka消费者

3. 传入数据

查看flume和kafka控制台查看结果

任务需求2:Kafka生产者生成的数据利用Flume进行采集,将采集到的数据打印到Flume的控制台上。

1.在flume/conf/目录下配置kafka.flume.conf文件

2. 启动kafka生产者生产数据

启动flume采集kafka生产的数据

可以看到flume已经成功采集kafka生产者的数据

二.  DStream转换

DStream 上的操作与 RDD 的类似,分为 Transformations(转换)和 Output Operations(输出)两种,此外转换操作中还有一些比较特殊的原语

无状态转化操作

无状态转化操作就是把简单的 RDD 转化操作应用到每个批次上,也就是转化 DStream 中的每一个 RDD。部分无状态转化操作列在了下表中。

注意,针对键值对的 DStream 转化操作(比如reduceByKey())要添加

import StreamingContext._才能在 Scala 中使用。

Transform

Transform 允许 DStream 上执行任意的 RDD-to-RDD 函数。即使这些函数并没有在 DStream的 API 中暴露出来,通过该函数可以方便的扩展 Spark API。该函数每一批次调度一次。其实也就是对 DStream 中的 RDD 应用转换。

案例演示

1. 编写代码

往9999端口传输数据

2. 运行代码打印9999端口数据

join

两个流之间的 join 需要两个流的批次大小一致,这样才能做到同时触发计算。计算过程就是对当前批次的两个流中各自的 RDD 进行 join,与两个 RDD 的 join 效果相同。

案例演示

1 编写代码运行代码

往9999和8888传输数据

运行结果

相关文章:

  • 逐行解析性能奥秘:借助 `line_profiler` 深入优化热点函数
  • Node.js 开发项目
  • Antd Modal Drawer 更改默认项
  • 【leetcode刷题日记】lc.73-矩阵置零
  • 一些有关ffmpeg 使用(1)
  • Z-Wave正通过自我革新,重塑在智能家居领域新定位
  • [FPGA基础] DMA
  • 0基础 | Proteus仿真 | 51单片机 | 继电器
  • MySQL的MVCC【学习笔记】
  • 01.oracle SQL基础
  • Django之旅:第七节--模版继承
  • IDEA配置将Servlet真正布署到Tomcat
  • Matplotlib高阶技术全景解析(续):动态交互、三维可视化与性能优化
  • 【初识Trae】字节跳动推出的下一代AI原生IDE,重新定义智能编程
  • 微服务架构在云原生后端的深度融合与实践路径
  • 图论---Kruskal(稀疏图)
  • PDFMathTranslate:基于LLM的PDF文档翻译及双语对照的工具【使用教程】
  • Spine 动画教程:皮肤制作
  • 深度学习笔记22-RNN心脏病预测(Tensorflow)
  • Azure Data Factory ETL设计与调度最佳实践
  • 文化体验+商业消费+服务创新,上海搭建入境旅游新模式
  • 保时捷中国研发中心落户上海虹桥商务区,计划下半年投入运营
  • 嫦娥五号《月球样品借用协议》签约,2025中国航天公益形象大使公布
  • 叶迪奇任陆金所控股董事长,赵容奭继续担任CEO
  • 人民日报整版聚焦第十个“中国航天日”:星辰大海,再启新程
  • 贵州省交通运输厅原副厅长冯伟已任遵义市领导