基于Spark rdd的单词计数,Java与Scala版本

本文介绍了如何使用Spark的Resilient Distributed Datasets(RDDs)进行单词计数,分别提供了Java和Scala两种语言的实现步骤。通过创建RDD、flatMap拆分、mapToPair、reduceByKey统计、sortedByKey排序以及最终输出结果来实现这一经典任务。
摘要由CSDN通过智能技术生成

 步骤:

  • 1.创建RDD
  • 2.将文本进行拆分 (flatMap)
  • 3.将拆分后的单词进行统计 (mapToPair,reduceByKey)
  • 4.反转键值对 (mapToPair)
  • 5.按键升序排序 (sortedByKey)
  • 6.再次反转键值对 (mapToPair)
  • 7.打印输出(foreach)

Java版本

public class SortWordCount {
    public static void main(String[] args) throws Exception {
        SparkConf conf = new SparkConf().setAppName("SortWordCount").setMaster("local");
        JavaSparkContext sc = new JavaSparkContext(conf);
        // 创建lines RDD
        JavaRDD<String> lines = sc.textFile("D:\\Users\\Administrator\\Desktop\\spark.txt");
        // 将文本分割成单词RDD
        JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() {
            @Override
            public Iterator<String> call(String s) throws Exception {
                return Arrays.asList(s.split(" ")).iterator();
 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值