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

Spark -- WordCount程序

Spark -- WordCount程序

package com.bigdata.example

import org.apache.spark.{SparkConf, SparkContext}


object WordCount {
  def main(args: Array[String]): Unit = {
    /**
      * 创建spark的配置对象。设置spark程序运行时候的配置空间
      * setAppName 用来设置APP的名称
      * setMaster 用来设置程序的运行模式,本地 还是 集群。
      *     本地可以设置local【*】,
      *     集群可以以Standalone 模式 ,需要使用sparl://host:port
      *
      */
    val conf = new SparkConf()
    conf.setAppName("WordCount")
    conf.setMaster("lical[2]")
    /**
      *  sc 是 spark程序的唯一入口
      *  sc核心作用,初始化 spark 和核心入口,所有组件,包括DAGScheduler 、 Taskscheduker
      *  还负责 spark程序向master 注册程序
      */
    val sc = new SparkContext(sc)

    /**
      * 根据具体的数据源,通过sparkcontext创建rdd
      * rdd 的创建、外部来源,通过Scala的集合使用然而产生rdd,通过rdd产生rdd
      */
    var line = sc.textFile("localPath",2)
    /**
      * 用函数进行计算,统计词频
      */
    var words = line.flatMap(_.split(",")).flatMap(_.split(" ")).filter(word =>  word != "   ")

    var pairs = words.map(word => (word,1))

    var wordCounts = pairs.reduceByKey(_+_)
    //开始计算
    var result = wordCounts.collect()
    //循环
    result.foreach(println(_))

    sc.stop()
   }
}

 

转载于:https://www.cnblogs.com/Tonyzczc/p/10424417.html

相关文章:

  • Java SE 12扩展Switch语句/表达式完整指南
  • java中具有继承关系的类及其对象初始化顺序
  • 和平之翼代码生成器SMEU版 4.0.0 Beta5 宝船公布
  • 去哪里学习行业知识?
  • java概述
  • Kubeadm证书过期问题修复方法之一:通过修改kubeadm源码
  • 区块链分支循环
  • java中【派生类、基类、父类、子类】
  • FydeOS VM for VMWare v6.0 Preview1 发布
  • 浏览器缓存机制
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • vue--为什么data属性必须是一个函数
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • 【翻译】babel对TC39装饰器草案的实现
  • Fabric架构演变之路
  • 【剑指offer】让抽象问题具体化
  • Intervention/image 图片处理扩展包的安装和使用
  • Javascript Math对象和Date对象常用方法详解
  • JavaScript 基本功--面试宝典
  • javascript从右向左截取指定位数字符的3种方法
  • markdown编辑器简评
  • mysql常用命令汇总
  • Puppeteer:浏览器控制器
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Spring Cloud中负载均衡器概览
  • tensorflow学习笔记3——MNIST应用篇
  • uni-app项目数字滚动
  • yii2权限控制rbac之rule详细讲解
  • 闭包--闭包之tab栏切换(四)
  • 程序员最讨厌的9句话,你可有补充?
  • 基于遗传算法的优化问题求解
  • 技术胖1-4季视频复习— (看视频笔记)
  • 两列自适应布局方案整理
  • 前端面试总结(at, md)
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 思考 CSS 架构
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • $ git push -u origin master 推送到远程库出错
  • (Oracle)SQL优化技巧(一):分页查询
  • (篇九)MySQL常用内置函数
  • (三十五)大数据实战——Superset可视化平台搭建
  • (小白学Java)Java简介和基本配置
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .dwp和.webpart的区别
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net core控制台应用程序初识
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .net下的富文本编辑器FCKeditor的配置方法
  • .pyc文件是什么?
  • @vue/cli脚手架