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

  1. # 下载安装包
  2. wget https://mirrors.bfsu.edu.cn/apache/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
  3. # 解压安装包
  4. tar -zxvf spark-3.1.2-bin-hadoop3.2.tgz
  5. # 修改目录名称
  6. mv spark-3.1.2-bin-hadoop3.2 spark-local

二、启动Local环境

  1. # 进入spark-local目录
  2. cd spark-local
  3. # 执行启动脚本
  4. bin/spark-shell
  5. # 启动后控制台会打印如下信息,表示启动成功
  6. 21/07/30 15:37:25 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
  7. Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
  8. Setting default log level to "WARN".
  9. To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
  10. Spark context Web UI available at http://hadoop102:4040
  11. Spark context available as 'sc' (master = local[*], app id = local-1627630651058).
  12. Spark session available as 'spark'.
  13. Welcome to
  14. ____ __
  15. / __/__ ___ _____/ /__
  16. _\ \/ _ \/ _ `/ __/ '_/
  17. /___/ .__/\_,_/_/ /_/\_\ version 3.1.2
  18. /_/
  19. Using Scala version 2.12.10 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_291)
  20. Type in expressions to have them evaluated.
  21. Type :help for more information.
  22. scala>

启动成功后,可使用web监控页面访问。http://hadoop102:4040

image.png

三、使用命令行工具

在使用spark-local启动成功后,会进入一个scala的命令行模式,在命令行中可以执行scala程序。

  1. 在spark的data目录下的准备一个word.txt文件
  1. # 创建word.txt文件
  2. vim data/word.txt
  3. # 写入如下内容
  4. Hello World
  5. Hello Spark
  6. Hello Scala
  7. # 保存并退出文件
  8. :wq
  1. 以本地模式启动spark,进入scala的命令行模式
  1. bin/spark-shell
  1. 使用scala命令统计单词出现的次数
  1. scala> sc.textFile("data/word.txt").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _).collect()
  2. # 打印结果如下
  3. res2: Array[(String, Int)] = Array((Hello,3), (World,1), (Scala,1), (Spark,1))
  1. 退出命令行
  1. # 使用ctrl + C或使用如下指令退出命令行
  2. :quit
  3. :q

四、提交jar执行

  1. bin/spark-submit \
  2. --class org.apache.spark.examples.SparkPi \
  3. --master local[2] \
  4. ./examples/jars/spark-examples_2.12-3.1.2.jar \
  5. 10

—class 表示要执行的jar包的主类

—master local[2] 部署模式,默认为本地模式,数字表示分配的虚拟CPU数量

spark-examples_2.12-3.1.2.jar 运行的应用所在的jar包

数字10表示程序的入参