Spark核心模块
模块 | 功能 |
---|---|
Spark Core | Spark Core提供了Spark最核心最基础的功能,Spark的其他功能:Spark SQL、Spark Streaming、Spark MLib和Spark GraphX都是在Spark Core的基础上扩展的 |
Spark SQL | Spark SQL是Spark用来操作结构化数据的组件,通过Spark SQL,用户可以使用SQL或者HQL(Hive 的SQL)来查询数据 |
Spark Streaming | Spark Streaming是Spark平台上针对实时数据针对流式计算的组件,提供了丰富的处理流的API |
Spark MLib | Spark MLib是Spark提供的一个机器学习算法库。MLib不仅提供了模型评估数据导入等额外的功能,还提供了一些更底层的一些机器学习原语。 |
Spark GraphX | GraphX是Spark面向图计算提供的框架与算法库。 |
Spark环境配置 - spark-3.0.0-bin-hadoop3.2.tgz
模式 | 应用 |
---|---|
Local 模式 | Local 模式,就是不需要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等 |
Standalone 模式 | Spark 自身节点运行的集群模式,也就是我们所谓的独立部署(Standalone)模式,它体现了经典的 master-slave 模式。 |
Local 模式
上传并解压
tar -xvzf spark-3.0.0-bin-hadoop3.2.tgz
mv spark-3.0.0-bin-hadoop3.2 spark-standalone
启动 Local 环境
- 进入解压缩后的路径,执行如下指令
cd spark-local/bin
spark-shell
2) 启动成功后,可以输入网址进行 Web UI 监控页面访问
http://虚拟机地址:4040/
我们这里使用的是205
http://192.168.0.205:4040/jobs/
3 命令行工具
在解压缩文件夹下的 data 目录中,添加 word.txt 文件:
Hello World
Hello Spark
Hello World
Hello Scala
执行命令:
sc.textFile("data/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect
result:
4.退出
Ctrl+C或者:quit
5.提交任务
bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master local[2] \
./examples/jars/spark-examples_2.12-3.0.0.jar \
10
1) --class 表示要执行程序的主类,此处可以更换为咱们自己写的应用程序
2) --master local[2] 部署模式,默认为本地模式,数字表示分配的虚拟 CPU 核数量
3) spark-examples_2.12-3.0.0.jar 运行的应用类所在的 jar 包,实际使用时,可以设定为咱
们自己打的 jar 包
4) 数字 10 表示程序的入口参数,用于设定当前应用的任务数量
Standalone 模式(Master-Slave模式)
200 | 201 | 202 | |
---|---|---|---|
Spark | Worker Master | Worker | Worker |
上传到master(200)的机器上,并解压
tar -xvzf spark-3.0.0-bin-hadoop3.2.tgz
mv spark-3.0.0-bin-hadoop3.2 spark-standalone
修改配置文件
1) 进入解压缩后路径的 conf 目录,修改 slaves.template 文件名为 slaves
mv slaves.template slaves
2) 修改 slaves 文件,添加 work 节点
master
slave1
slave2
3) 修改 spark-env.sh.template 文件名为 spark-