Spark Local模式
local本地模式一般用于
一、安装
spark官网:http://spark.apache.org
spark3.1.2下载地址:https://mirrors.bfsu.edu.cn/apache/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
# 下载安装包wget https://mirrors.bfsu.edu.cn/apache/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz# 解压安装包tar -zxvf spark-3.1.2-bin-hadoop3.2.tgz# 修改目录名称mv spark-3.1.2-bin-hadoop3.2 spark-local
二、启动Local环境
# 进入spark-local目录cd spark-local# 执行启动脚本bin/spark-shell# 启动后控制台会打印如下信息,表示启动成功21/07/30 15:37:25 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicableUsing Spark's default log4j profile: org/apache/spark/log4j-defaults.propertiesSetting default log level to "WARN".To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).Spark context Web UI available at http://hadoop102:4040Spark context available as 'sc' (master = local[*], app id = local-1627630651058).Spark session available as 'spark'.Welcome to____ __/ __/__ ___ _____/ /___\ \/ _ \/ _ `/ __/ '_//___/ .__/\_,_/_/ /_/\_\ version 3.1.2/_/Using Scala version 2.12.10 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_291)Type in expressions to have them evaluated.Type :help for more information.scala>
启动成功后,可使用web监控页面访问。http://hadoop102:4040

三、使用命令行工具
在使用spark-local启动成功后,会进入一个scala的命令行模式,在命令行中可以执行scala程序。
- 在spark的data目录下的准备一个word.txt文件
# 创建word.txt文件vim data/word.txt# 写入如下内容Hello WorldHello SparkHello Scala# 保存并退出文件:wq
- 以本地模式启动spark,进入scala的命令行模式
bin/spark-shell
- 使用scala命令统计单词出现的次数
scala> sc.textFile("data/word.txt").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _).collect()# 打印结果如下res2: Array[(String, Int)] = Array((Hello,3), (World,1), (Scala,1), (Spark,1))
- 退出命令行
# 使用ctrl + C或使用如下指令退出命令行:quit:q
四、提交jar执行
bin/spark-submit \--class org.apache.spark.examples.SparkPi \--master local[2] \./examples/jars/spark-examples_2.12-3.1.2.jar \10
—class 表示要执行的jar包的主类
—master local[2] 部署模式,默认为本地模式,数字表示分配的虚拟CPU数量
spark-examples_2.12-3.1.2.jar 运行的应用所在的jar包
数字10表示程序的入参
