环境搭建
- hadoop-2.7.5
- scala-2.12.7
- spark-3.3.0
- JDK 1.8.0
官网下载安装Scala 和 Spark并配置windows环境变量:
下载后解压,然后配置环境变量,版本要适配不然运行程序时可能会报错
scala下载:
本帖所安装的版本为scala-2.12.7
可自行安装其他版本
进入自己所选择的版本,滑到下边,选择Windows版
下载到随便一个没有中文字符的目录并解压出来
右键属性此电脑,打开高级设置添加系统环境变量
打开命令提示符小黑窗,输入
scala -version
出现版本号说明已经安装配置成功
spark下载:
本帖所安装的版本为spark-3.3.0-bin-hadoop2
可自行安装其他版本
进入所选的版本,再次选择自己所需要下载的文件
下载到随便一个没有中文字符的目录并解压出来
右键属性此电脑,打开高级设置添加系统环境变量
配置完后打开命令提示符小黑窗,输入
spark-shell
出现版本号说明已经安装配置成功
创建Scala项目
Scala SDK:点击创建—>浏览—>选择自己Scala目录—>确定
安装Scala插件,这里我已经下载过了 没下载的直接点Install等待下载安装完成再操作
导入spark的jar包
创建一个Scala类
运行第一个WordCount程序:
对spark1.txt文件进行筛选,将A或者包含A的字母筛选出来并统计个数,然后输出到dome1文件中。
#数据如下
id 编号 内容
A B C
AB A B
C A B
AB AB AB
import org.apache.spark.{SparkConf, SparkContext}
object demo {
def main(args: Array[String]): Unit = {
var sparkConf = new SparkConf().setAppName("demo1").setMaster("local")
var sc = new SparkContext(sparkConf)
// 文件输入路径
var filepath = "F:\\test\\spark_work\\input\\spark1.txt"
//获取第一行
var fileFirst = sc.textFile(filepath).first()
sc.textFile(filepath).filter(!_.equals(fileFirst)).flatMap(_.split("\t")).filter(_.contains("A"))
// 文件输出路径,该目录自主创建会导致报错,程序运行后它会自动创建该目录
.map((_,1)).reduceByKey(_+_).saveAsTextFile("F:\\test\\spark_work\\output")
}
}