Spark学习基础转换算子案例(单词计数(WordCount))

本案例在文件中读取,上面是文件路径

这是文件内容

代码如下:

java 复制代码
package RDD.test;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaPairRDD;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

import java.util.Arrays;

public class RDD_test_WordCount {

    public static void main(String[] args) {
        SparkConf sparkConf = new SparkConf().setMaster("local").setAppName("sparkcore");

        JavaSparkContext context = new JavaSparkContext(sparkConf);

        JavaRDD<String> rdd = context.textFile("data/word.txt");

        JavaRDD<String> rdd1 = rdd.flatMap(line -> Arrays.asList(line.split(" ")).iterator());

        JavaPairRDD<String, Iterable<String>> stringIterableJavaPairRDD = rdd1.groupBy(num -> num);

        JavaPairRDD<String, Integer> stringIntegerJavaPairRDD = stringIterableJavaPairRDD.mapValues(
                ite -> {
                    int len = 0;
                    for (String s : ite) {
                        len++;
                    }

                    return len;
                }
        );

        stringIntegerJavaPairRDD.collect().forEach(System.out::println);

        context.close();

    }
}

运行结果为:

相关推荐
Lhappy嘻嘻24 分钟前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
伊玛目的门徒1 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
ffqws_1 小时前
Redis 分布式锁:基于 Redisson 的实现与面试高频问答
redis·分布式·面试
jkyy20142 小时前
深耕AI健康医疗数据智库,赋能企业构建主动健康管理新生态
大数据·人工智能·健康医疗
xian_wwq3 小时前
【学习笔记】模型权重管理:Safetensors与私有化Hub(23/35)
笔记·学习
其实防守也摸鱼3 小时前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
ctrl_v助手3 小时前
Halcon学习笔记2
人工智能·笔记·学习
懒鸟一枚4 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
2601_961946084 小时前
AI API 网关实战:从单 Key 管理到企业级多租户架构
大数据·人工智能·金融·架构·api·个人开发
YUS云生4 小时前
Python学习笔记·第31天:FastAPI入门——路由、路径参数、查询参数与请求体
笔记·python·学习