当前位置: 首页 > 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设计与调度最佳实践
  • 刘洪洁已任六安市委副书记、市政府党组书记
  • 解放日报:硬科企业由此迈出“市场第一步”
  • 圆桌|特朗普上台百日未能结束俄乌冲突,若美国“退出”会发生什么?
  • 华侨城A:一季度营收53.63亿元,净利润亏损14.19亿元
  • 杜前任宁波中院代理院长,卸任宁波海事法院院长
  • 网警侦破特大“刷量引流”网络水军案:涉案金额达2亿余元