vps建立多个网站,明天上海封控16个区,chatgpt 链接,wordpress编辑文章出现错误500目录
Scala配置教程
配置Spark运行环境
编写Spark程序 1、包和导入
2、定义对象
3、主函数
4、创建Spark配置和上下文
5、定义输入文件路径
6、单词计数逻辑
7、输出结果
8、完整代码#xff1a; Scala配置教程
IDEA配置Scala#xff1a;教程
配置Spark运行环境 …
目录
Scala配置教程
配置Spark运行环境
编写Spark程序 1、包和导入
2、定义对象
3、主函数
4、创建Spark配置和上下文
5、定义输入文件路径
6、单词计数逻辑
7、输出结果
8、完整代码 Scala配置教程
IDEA配置Scala教程
配置Spark运行环境
添加Spark开发依赖包快捷键CtrlAltShiftS 找到Spark安装目录下的jars文件夹将整个文件夹导入 Spark编程环境配置完成 在com.tipdm.sparkDemo包下新建WordCount类并指定类型为object编写spark程序实现单词计数器。 选择Dependencies勾选Scala-sdk-2.12.15和jars 添加Add Content root Root 选择jars点击ok 编写Spark程序 在Scala的基础上教程 1、包和导入
package com.tipdm.sparkDemo
import org.apache.spark.{SparkConf, SparkContext} 这里定义了一个包com.tipdm.sparkDemo并导入了SparkConf和SparkContext这两个类它们都是Apache Spark的核心组件。
2、定义对象
object WordCount { 这里定义了一个单例对象WordCount。在Scala中对象可以包含方法和字段并且可以作为程序的入口点。
3、主函数
def main(args: Array[String]): Unit {
这是程序的入口点main函数。它接收一个字符串数组作为参数通常用于命令行参数并返回Unit在Scala中这相当于Java中的void。
4、创建Spark配置和上下文
val conf new SparkConf().setAppName(WordCount).setMaster(local)
val sc new SparkContext(conf) 首先创建一个SparkConf对象并设置应用程序的名称为WordCount。然后使用这个配置创建一个SparkContext对象它是Spark应用程序的入口点。
5、定义输入文件路径
val input C:\\Users\\John\\Desktop\\words.txt
这里定义了一个字符串变量input它包含了要读取的文件的路径。
6、单词计数逻辑
val count sc.textFile(input).flatMap(x x.split( )).map( x (x, 1)).reduceByKey((x, y) x y) * sc.textFile(input)从指定的路径读取文件并返回一个RDD弹性分布式数据集其中每个元素是文件中的一行。
* flatMap(x x.split( ))将每一行分割成单词并扁平化结果。这意味着所有行的单词都会合并到一个单一的RDD中。
* map(x (x, 1))为每个单词映射一个键值对其中键是单词值是1。这表示每个单词都出现了一次。
* reduceByKey((x, y) x y)对于具有相同键的所有值执行reduce操作。在这里它简单地将所有1相加从而计算每个单词的出现次数。
7、输出结果
count.foreach(x println(x._1 , x._2))
使用foreach操作遍历结果RDD并打印每个单词及其出现次数。x._1是键单词x._2是值出现次数。
整个程序会读取指定路径下的文件计算每个单词的出现次数并打印结果。这是一个使用Spark进行基本文本分析的常见示例。 words.txt放在桌面了所以路径为
C:\Users\John\Desktop\words.txt words.txt文件内容为
Hello World Our World
Hello BigData Real BigData
Hello Hadoop Great Hadoop
HadoopMapReduce8、完整代码
package com.tipdm.sparkDemo
import org.apache.spark.{SparkConf, SparkContext}
object WordCount {def main(args: Array[String]): Unit {val conf new SparkConf().setAppName(WordCount).setMaster(local)val sc new SparkContext(conf)val input C:\\Users\\John\\Desktop\\words.txt// 计算各个单词出现次数val count sc.textFile(input).flatMap(x x.split( )).map(x (x, 1)).reduceByKey((x, y) x y)count.foreach(x println(x._1 , x._2))}
}运行成功