Spark-Streaming

WordCount案例

添加依赖

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<parent>

<artifactId>Sparkes</artifactId>

<groupId>org.example</groupId>

<version>1.0-SNAPSHOT</version>

</parent>

<modelVersion>4.0.0</modelVersion>

<artifactId>Sparkes-core</artifactId>

<properties>

<maven.compiler.source>8</maven.compiler.source>

<maven.compiler.target>8</maven.compiler.target>

</properties>

<dependencies>

<dependency>

<groupId>org.apache.spark</groupId>

<artifactId>spark-core_2.12</artifactId>

<version>3.0.0</version>

</dependency>

<dependency>

<groupId>org.apache.spark</groupId>

<artifactId>spark-streaming_2.12</artifactId>

<version>3.0.0</version>

</dependency>

</dependencies>

</project>

代码

import org.apache.spark.SparkConf

import org.apache.spark.streaming.{Seconds, StreamingContext}

object SparkStreaming {

def main(args: Array[String]): Unit = {

// 创建 SparkConf 对象,设置运行模式和应用名称

val sparkConf = new SparkConf().setMaster("local[*]").setAppName("streaming")

// 创建 StreamingContext 对象,设置批处理间隔为 3 秒

val ssc = new StreamingContext(sparkConf, Seconds (3))

// 从指定的套接字地址接收文本流数据

val lineStreams = ssc.socketTextStream("node01", 9999)

// 将每行文本拆分为单词

val wordStreams = lineStreams.flatMap(_.split(" "))

// 将每个单词映射为 (单词, 1) 的键值对

val wordAndOneStreams = wordStreams.map((_, 1))

// 对相同单词的计数进行累加

val wordAndCountStreams = wordAndOneStreams.reduceByKey(_ + _)

// 打印每个批次的单词计数结果

wordAndCountStreams.print()

// 启动 StreamingContext

ssc.start()

// 等待 StreamingContext 终止

ssc.awaitTermination()

}

}

相关推荐
YangYang9YangYan1 小时前
2026中专大数据专业学习指南
大数据
yumgpkpm1 小时前
预测:2026年大数据软件+AI大模型的发展趋势
大数据·人工智能·算法·zookeeper·kafka·开源·cloudera
无级程序员1 小时前
大数据Hive之拉链表增量取数合并设计(主表加历史表合并成拉链表)
大数据·hive·hadoop
py小王子2 小时前
dy评论数据爬取实战:基于DrissionPage的自动化采集方案
大数据·开发语言·python·毕业设计
龙山云仓2 小时前
MES系统超融合架构
大数据·数据库·人工智能·sql·机器学习·架构·全文检索
无忧智库3 小时前
某市“十五五“知识产权大数据监管平台与全链条保护系统建设方案深度解读(WORD)
大数据·人工智能
综合热讯3 小时前
股票融资融券交易时间限制一览与制度说明
大数据·人工智能·区块链
华农DrLai3 小时前
Spark SQL Catalyst 优化器详解
大数据·hive·sql·flink·spark
Pluchon3 小时前
硅基计划4.0 算法 简单模拟实现位图&布隆过滤器
java·大数据·开发语言·数据结构·算法·哈希算法
岁岁种桃花儿3 小时前
Flink从入门到上天系列第一篇:搭建第一个Flink程序
大数据·linux·flink·数据同步