安装Spark
下载
下载位置 http://spark.apache.org/downloads.html
注意选择适合对应hadoop版本的spark,点击下载会自动选择最近的镜像下载
当前安装使用2.4.4版本
安装
- 如下解压后,进入conf目录
tar -xvf spark-2.4.4-bin-hadoop2.7.tgz
- 配置SPARK_HOME并添加到PATH中,如下
export SPARK_HOME=/Users/admin/App/spark-2.4.4-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
测试
开启shell
直接命令行输入spark-shell
开启进入scala交互的命令行,可在此快速验证原型,显示如下
park context Web UI available at http://wenzhoudembp-2:4040
Spark context available as 'sc' (master = local[*], app id = local-1580276149308).
Spark session available as 'spark'.
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.4.4
/_/
Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_202)
Type in expressions to have them evaluated.
Type :help for more information.
因为这里我们没有配置任何存储引擎和计算引擎,因此spark默认使用本地文件系统存储,使用本地JVM中的执行引擎当作计算引擎,这称为spark的本地模式,这样做的好处在于我们可以使用spark快速验证和调试程序。
注意这里的显示的几个变量解释如下:
- Web UI
对应的应用程序运行监控页面,可以看到当前执行的任务详情,用于任务跟踪和调优。
- Spark context/Spark session
Spark 2.0之前执行执行环境使用Spark context,2.0之后使用Spark Session(兼容2.0之前的Spark Context),运行spark任务请必须先设置当前spark运行上下文(Spark context/Spark session)。
这里shell中默认生成sc代表Spark context,spark代表Spark session。
- master
master代表前一节说的一个Application的总管Master,分为多种,默认不指定master执行spark-shell为相当于
bin/spark-shell -master 'local[*]'
这样具体执行语句在本地工作模式,包括如下
- local 本地Worker一个线程
- local[N] 本地Worker N个线程
- local[*] 本地Worker 逻辑CPU核数个数的线程
要想运行在集群上,必须指定集群地址,下一节会详述。
- app id
对应的Application Id,唯一标记运行的应用程序
shell测试
这里测试最常见的word count,对于本地文件系统上包含单词的文件
/Users/admin/Tmp/word.data
执行如下命令,可以看到统计的结果
sc.textFile("/Users/admin/Tmp/word.data").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
可以通过http://localhost:4040/jobs/查看集群运行的任务和状态
原创,转载请注明来自