微信公众号绑定网站,营销策划的重要性,免费php网站模板,免费论坛创建官网主要框架#xff1a;FlumeKafkaSpark 详细#xff1a; VM Ware虚拟机、CentOS7、jdk-8u311、MySQLHadoop-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 一-技术选型与实现流程 本项目的流程#xff0c;如下图所示#xff0c… 主要框架FlumeKafkaSpark 详细 VM Ware虚拟机、CentOS7、jdk-8u311、MySQLHadoop-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 可视化
可设置自动刷新写入文本文件的变化可对应图表的变化。
对比效果