spark wordcount

如何在IDEA中编写Spark的WordCount程序 1:spark shell仅在测试和验证我们的程序时使用的较多,在生产环境中,通常会在IDE中编制程序,然后打成jar包,然后提交到集群,最常用的是创建一个Maven项目,利用Maven来管理jar包的依赖。 2:配置Maven的pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave... 阅读详情

附上依赖

<dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.4.5</version>
</dependency>

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

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

    /**
     * 创建spark的入口
     */
    val conf = new SparkConf()
      //setMaster是我在window环境直接运行写的,所以指定了是local模式
      // 如果是打包上传到集群就不要再写这个了
      .setMaster("local[*]")
      //赋予程序一个名字,给Spark程序赋予一个名字,如果可以提交到yarn上,再8088上可以看见
      .setAppName("WordCount")

    //spark core的运行环境创建一下
    val sc = new SparkContext(conf)

    //读取指定路径的文件,生成一个RDD(里面的数据按行读取)
    val textRDD: RDD[String] = sc.textFile("data/test.txt")

    //切分数据,我们将每一行的数据按逗号切分开之后,flatMap算子会将最终函数返回值的集合类型切分开
    val wordRDD = textRDD.flatMap(_.split(","))

    //根据单词本身进行分组,单词作为key,相同的单词放进一个元组中
    val groupRDD = wordRDD.groupBy(word => word)

    //得到上面的结果后离结果就很相近了,可以看一下上一步的结果是(hello,(hello,hello))这种模式
    //我们可以使用map方法获取到元组中的第一个元素作为key,第二个元素的长度作为value
    val kvDS = groupRDD.map(kv => kv._1 + "," + kv._2.size)
  
    //foreach是一个action算子,里面传入一个println方法,将结果打印在控制台
    kvDS.foreach(println)
  }
}

通常来说,我们写spark程序除了需要指定输入路径,还需要指定输出路径

在spark程序中如果指定的输出路径已经存在,那么程序也是会直接失败的

所以我们首先需要判断这个路径是不是已经存在了,存在了就先将这个路径删除掉

那么最终结果会生成几个文件?

这里还是引用了mapreduce中的切片规则,文件大小到达128m就是一个切片,也就是spark中的一个分区

import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{FileSystem, Path}
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

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

    /**
     * 创建spark的入口
     */
    val conf = new SparkConf()
      //setMaster是我在window环境直接运行写的,所以指定了是local模式
      // 如果是打包上传到集群就不要再写这个了
      .setMaster("local[*]")
      //赋予程序一个名字,给Spark程序赋予一个名字,如果可以提交到yarn上,再8088上可以看见
      .setAppName("WordCount")

    //spark core的运行环境创建一下
    val sc = new SparkContext(conf)

    //读取指定路径的文件,生成一个RDD(里面的数据按行读取)
    val textRDD: RDD[String] = sc.textFile("data/test.txt")

    //切分数据,我们将每一行的数据按逗号切分开之后,flatMap算子会将最终函数返回值的集合类型切分开
    val wordRDD = textRDD.flatMap(_.split(","))

    //根据单词本身进行分组,单词作为key,相同的单词放进一个元组中
    val groupRDD = wordRDD.groupBy(word => word)

    //得到上面的结果后离结果就很相近了,可以看一下上一步的结果是(hello,(hello,hello))这种模式
    //我们可以使用map方法获取到元组中的第一个元素作为key,第二个元素的长度作为value
    val kvDS = groupRDD.map(kv => kv._1 + "," + kv._2.size)


    //和mapreduce中的那套一样,导入的包注意都是org.apache.hadoop下面的
    val cf: Configuration = new Configuration()
    val fs: FileSystem = FileSystem.get(cf)
    val path: Path = new Path("data/result")
    // 判断输出路径是否存在 存在则删除
    if (fs.exists(path)) {
      fs.delete(path, true)
    }

    //foreach是一个action算子,里面传入一个println方法,将结果打印在控制台
    kvDS.saveAsTextFile("data/result.txt")
  }
}

【spark】spark集群的安装和spark shell测试wordcount 文章目录一、安装spark1、已解spark的压缩包2、进入~/spark/conf里配置spark-env.sh,改文件包含sark的各种运行环境3、配置slaves文件,同样复制一份 .template4、将配置好的spark分发给所有slave(这里也就是node01 node02)5、配置spark环境变量6、启动spark,停止spark7、看下work的状态8、通过web访问spark... 阅读详情

相关推荐

Spark 之WordCount

Spark 之WordCount

congge_study的博客 7388

Spark案例之WordCount

目录IntelliJ IDEA一、编写WordCount程序1.创建一个Maven项目WordCount并导入依赖2.编写代码3.打包插件4.创建数据,打包完,导入包5.集群测试(在包的路径下输入)hdfs的方式:本地方式:6.查看结果 二、远程调用Spark1.启动Spark下的start-all.sh Jps查看进程:2.导入依赖 3.编写代码4.打包5.在把代码加到创建sparkConf的后面原代码修改后,加上包的路径6.运行输出 2.编写代码 3.打包插件 4.创建数据,打包完,

m0_55834564的博客 1821

obisidian插件之【templater】模板的中文说明书

Templater 是一种模板语言,可让您将变量和函数结果插入到笔记中。它还允许您执行操作这些变量和函数的 JavaScript 代码。使用 Templater,您将能够创建强大的模板来自动执行手动任务。

m0_55795604的博客 1万+

Spark 实现 WordCount

本文介绍了怎么在windows上利用IDEA创建maven项目,通过Scala编程实现WordCount词频统计,并且打包上传到linux系统的Spark集群。看完这篇包教包会

lxh1741303098的博客 1534

1G/2.5G Ethernet PCS/PMA or SGMII

SGMII即Serial GMII,串行GMII,收发各一对差分信号线,时钟频率625MHz,在时钟信号的上升沿和下降沿均采样,所以总的数据速率为1.25Gbps=625Mbps*2。参考时钟RX_CLK由PHY提供,是可选的,主要用于MAC侧没有时钟的情况,一般情况下,RX_CLK不使用。收发都可以从数据中恢复出时钟。在TXD发送的串行数据中,每8比特数据会插入TX_EN/TX_ER 两比特控制信息,同样,在RXD接收数据中,每8比特数据会插入RX_DV/RX_ER 两比特控制信息。

sqzjiayou的博客 1万+

在边缘部署实时视觉应用程序

克隆代码库后,压缩源文件夹的内容,并将生成的存档文件上传到上一节中创建的 S3 存储桶中。在本教程中,我们将使用 AWS Greengrass,因为它支持大多数 Windows 和 Linux 设备,包括我们的目标 Jetson AGX Xavier。此外,模型还可以量化到更低的精度,从而加快推理速度,但对于较大的模型,此过程通常较长(约 45 分钟)。本例中的脚本只是启动一个 Bash 环境,切换到解压后的构件目录,最后使用所需的命令行参数运行 Deepstream 应用。每个模型类型都有其独有的格式。

2501_91623519的博客 1281

Spark初试之WordCount

本文详细记录了在Spark集群中的第一个程序:WordCount的编写、执行过程。

古月慕南的代码世界 1326

从公式到实践:用SPSS解锁香农多样性指数的生态洞察

本文详细介绍了如何利用SPSS软件计算和应用香农多样性指数进行生态研究。从基础公式解析到SPSS实战操作,再到生态决策支持,全面展示了该指数在物种丰富度和均匀度量化中的价值。文章特别强调了SPSS操作中的关键技巧和常见误区,为生态研究者提供了一套完整的分析解决方案。

weixin_30832143的博客 465

Spark练习之wordcount,基于排序机制的wordcount

Spark练习之wordcount一、原理及其剖析二、pom.xml三、使用Java进行spark的wordcount练习四、使用scala进行spark的wordcount练习 一、原理及其剖析 二、pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/PO...

爱是与世界平行 1138

COMSOL模拟CO2驱替CH4:多物理场耦合建模与工程应用详解

在非常规天然气开发与碳封存工程中,多孔介质内的渗流、吸附与岩石变形相互耦合,使得CO2驱替CH4的产能预测和CO2封存评估无法仅靠经验公式完成。以达西定律描述裂隙流动、以扩展Langmuir方程刻画竞争吸附、用应力-吸附-渗透率关系关联煤岩变形,是多物理场耦合数值模拟的核心路径。COMSOL Multiphysics凭借内置渗流、固体力学与组分传递接口,能够将这些机制整合为可参数化扫描的仿真模型,为注气压力、井距、渗透率演化等方案设计提供量化依据。围绕CO2驱替CH4模拟的建模流程、参数取法与结果判读,可形

weixin_29574585的博客 158

RWEQ土壤风蚀模型的估算与变化归因分析

本次以介绍RWEQ模型的基本原理及数据需求,再结合案例讲解RWEQ模型中区域地理空间数据库构建的方法和各个参量提取的原理与方法,最后结合典型案例进行综合讲解风蚀模数估算、制图及归因分析。空间分析与制图:提取分析、局部分析、邻域分析、区域分析、插值分析、平滑处理、像元提取、采样与重采样。以某实际应用为案例,掌握RWEQ模型进行当地土壤风蚀量空间分布分析整体流程。地图服务器、在线地图、范围指示器、格网、表格、基础地图服务使用规则介绍。掌握土壤风蚀模型的原理、优势点及因子组成。

2301_77413856的博客 1193

Spark实现WordCount

首先,编写第一个Spark应用程序 ,我们是如何建立起来的,其入口在哪里呢,需要创建两个对象。  一:val conf = new SparkConf()                             .setAppName("WordCount")                             .setMaster("local")     创建SparkConf对象...

春水初生,春林初盛,春风十里,不如随笔 9902

22、自动化地图制作与Pandas数据处理

本文介绍了在ArcGIS Pro中使用arcpy.mp模块进行自动化地图制作的关键技术,涵盖地图元素的访问、移动与文本修改,以及将布局批量导出为JPEG、PNG和PDF格式的方法。同时,文章深入探讨了Pandas在数据处理和地理空间分析中的应用,特别是Spatially Enabled DataFrames(SEDFs)的使用。通过综合案例展示了地图更新与数据清洗、分析的结合,提升了地图制作与数据处理的效率,为GIS自动化工作流提供了实用指南。

w8x9y0z1的博客 78

Windows环境下安装Spark并运行WordCount例子

Windows环境下安装Spark并运行WordCount例子一、Windows下安装Spark1、提前安装Java JDK2、提前安装Scala3、安装Spark4、安装Hadoop5、下载winutils(winutils.exe是在window系统上安装hadoop时所需要的winutils文件)6、运行spark-shell二、运行WordCount例子1、新建Project2、新建Scala Class3、导入Spark程序依赖的jar包4、编写WordCount代码 一、Windows下安装Sp

actionbean的博客 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Spark的WordCount

8、Spark的WordCount   8.1、Scala 版本的 WordCount  packge com.mazh.spark import org.apache.spark.{SparkConf, SparkContext} /* *作者:https://blog.youkuaiyun.com/qq_42246689 * */ object WordCount { def...

谦卑t 438

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Spark WordCount Demo

Spark Word Count Demo简介                                           日期 版本 修订 审批 修订说明 2016.12.28 1.0 章鑫   初始版本  

zx8167107的博客 2707

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Spark集群上跑wordcount

Spark集群上跑wordcount 1、创建WordCount程序的jar(maven项目) 编写SparkWC.scala文件 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** * scala:是一个强类型语言 * 模板代码 */ object SparkWC...

lds_include 491

idea运行spark的wordcount与eclipse运行spark的wordcount示例,及本地运行sparkpi

一、idea运行wordcount 1、下载idea的社区版本(免费的) http://www.jetbrains.com/idea/download/ 2、安装scala插件 File-->Settings...----->Plugins 点击红色按钮,在搜索scala点击右面的初始化按钮安装scala插件 3、创建scala项目 File--->New Project

bahaidong的专栏 4618

Spark WordCount 案例

Spark WordCount 案例

m0_72168501的博客 2334

java spark wordcount_在IDEA中编写Spark的WordCount程序

1 [root@master hadoop]# bin/spark-submit --class com.bie.WordCount --master spark://master:7077 --executor-memory 700M --total-executor-cores 2 /home/hadoop/data_hadoop/sparkWordCount-1.0-SNAPSHOT.jar...

weixin_29808375的博客 364

Spark WordCount

1. 启动hadoop和spark cd /usr/local/Cellar/hadoop/3.2.1/sbin ./start-all.sh cd /usr/local/Cellar/spark-3.0.0-preview2/sbin /start-all.sh 2. 引入依赖 依赖的版本号要与安装程序的版本号保持一致。 <dependency> <groupId&g...

人不风流枉少年 1714

Spark实现wordcount

object WordCount{ def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName(&amp;quot;wordcount&amp;quot;) val sc = new SparkContext(conf) sc.textFile(args(0)).flatMap(_.split(&amp;quot; &amp;quot;)...

CoderLin很忙的博客 996

Spark-shell执行wordcount案例

什么是spark-shell Spark-shell 是 Spark 给我们提供的交互式命令窗口(类似于 Scala 的 REPL) 准备数据 新建个demo文件夹 在demo文件夹里面新建两个txt文件 里面的数据都是用空格分隔的, 不是用tab分隔的 [root@zjj101 soft]# cat demo1.txt zjj AAA BBB AAA jj ZJJ [root@zjj101 soft]# cat demo2.txt ZZZ zzz xxx yyy Zjj zjj [root@zjj101

张俊杰 的博客 1636

spark的12种wordcount

数据文件内容为 spark spark hello spark ... scala spark spark //TODO 第一种 : aggregate package com.bigdata.spark.core.wordcount12 import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.rdd.RDD import scala.collection.mutable /** * @author shks.

weixin_48686551的博客 421
上一篇: spark整合hive
下一篇: 安装虚拟机踩坑
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值