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

【hadoop】实时计算词频案例

主要框架:Flume+Kafka+Spark

详细:

  1. VM Ware虚拟机、CentOS7、jdk-8u311、MySQL
  2. Hadoop-2.9.2、Flume-1.9.0、Zookeeper-3.4.6、Kafka_2.11-2.8.1、Spark-2.4.8

     3、IDEA、Scala-2.11.X

 一-技术选型与实现流程

本项目的流程,如下图所示,首先使用 Flume 采集本地文件中的单词内容,并把更新的数据实时推送到 Kafka 消息队列中间件中,然后使用 Spark 从 Kafka 中提取消息进行实时数据计算,并把计算结果存储到 MySQL 数据库中,后续使用 Davinci 等架构访问 MySQL 数据库获取实时计算的结果,并把结果动态地、可视化地呈现在网页上。

 

1.Flume的配置

# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
#
# # Describe/configure the source
a1.sources.r1.type = TAILDIR
a1.sources.r1.filegroups = f1
a1.sources.r1.filegroups.f1 = /home/hadoop/log.txt
a1.sources.r1.channels = c1
#
# # Describe the sink
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.channel = c1
a1.sinks.k1.brokerList = master:9092,slave1:9092,slave2:9092
a1.sinks.k1.topic = word_topic
a1.sinks.k1.producer.acks = 1
#
# # Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 100
a1.channels.c1.transactionCapacity = 100

2. MySQL的前期准备

CREATE TABLE word_count (word VARCHAR(255) PRIMARY KEY,count INT
);

3. Spark Streaming

连接kafka,写入mysql,

scala代码,ai提示词:

写一个scala代码,功能是从 Kafka 实时消费数据、统计词频并同步到 MySQL。

首先通过 Log4j 配置屏蔽 Spark 和 Kafka 的 INFO 日志,确保控制台仅显示关键信息;接着创建 Spark Streaming 上下文,配置 Kafka 连接参数,从word_topic主题消费数据;对消息内容进行清洗(分割、过滤、小写处理)后,使用滑动窗口(30 秒窗口,5 秒滑动间隔)实时统计词频;然后将统计结果按分区批量写入 MySQL,每个分区复用一个数据库连接,通过事务管理和ON DUPLICATE KEY UPDATE语句确保数据一致性和高效更新;过程中通过println输出关键更新信息,便于监控

 4. Davinci 可视化

可设置自动刷新,写入文本文件的变化可对应图表的变化。

对比效果:

相关文章:

  • [原创]X86C++反汇编03.除法的优化
  • Linux启动流程和内核管理自我总结
  • 在线机考|2025年华为暑期实习春招秋招编程题(最新)——第2题_网络整改
  • Mysql可以做分布式锁吗?Mysql分布式锁的应用
  • 图像处理控件Aspose.Imaging教程:用Java将 CMX 转换为 PNG
  • 第七章接入技术
  • window 显示驱动开发-处理视频帧
  • [SPDM]SPDM 证书链验证过程详解
  • 深度信念网络 (DBN, Deep Belief Network)
  • 2025 06 12 mrp
  • yolo11学习笔记
  • 强化微调技术与GRPO算法(2): 优势、应用场景与选择指南
  • Android NumberPicker使用大全
  • 支持 CHI 协议的 NOC的错误注入和边界条件测试
  • JDK各个版本新特性
  • pytorch 之 nn 库与调试
  • Spring Boot 整合 Smart-Doc:零注解生成 API 文档,告别 Swagger
  • 2025-05-07-二分查找
  • Cloudflare SaaS 功能 ip 优选原理
  • 论文略读:Large Language Models Assume People are More Rational than We Really are
  • 直播网站怎么做/河南百度关键词优化排名软件
  • 程序员做任务的网站/在线网页制作系统搭建
  • 大连网站优化技术/网络营销专业毕业论文
  • 北京电商购物网站/sem竞价托管价格
  • c++做网站/百度营销推广靠谱吗
  • 产品报价网站建设费用/百度资源