栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

9.2.2、Spark Core

9.2.2、Spark Core

1、spark核心编程(3种数据结构)
(1)RDD:弹性分布式数据集
(2)累加器:分布式共享只写变量
(3)广播变量:分布式共享只读变量
2、RDD概述(不存储数据)

RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据处理模型
代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合

3、RDD的特征(5种)

(1)RDD是由一系列分区组成的(默认一个分区对应一个切片,一个block)

spark并没有读取文件,底层还是利用mapreduce方式(切片方式,格式化数据方式)读取文件

(2)方法(算子)是作用在每一个分区上(每个分区对应一个task(并行度的分区)) (3)RDD之间是有一系列的依赖关系的
依赖关系:宽依赖(有shuffle,),窄依赖(没有shuffle) 可以按照宽依赖切分Stage
(4)分区类(ByKey类)算子只能作用在k-v格式的RDD上
(5)spark给每个task提供最佳的计算位置,移动计算,不移动数据(数据本地化)

4、Stage等概念

Stage:是一种并行计算的task(可以看作任务map或reduce任务)(stage数量等于shuffle数量+1)
task:在map(reduce)阶段并行的个数(源码:task数量等于当前阶段中最后一个RDD的分区数量)
算子:RDD的方法称之为算子(操作)
分组会产生shuffle,shuffle会落地产生磁盘文件,如果要进行网络传输那么就会有一个序列化的过程,在数据落到磁盘的时候会进行压缩(默认hash分区)

5、spark在standalone运行模式

(1)standalone client模式 日志在本地输出,一般用于上线前测试(bin/下执行)

需要进入到spark-examples_2.11-2.4.5.jar 包所在的目录下执行

cd /usr/local/soft/spark-2.4.5/examples/jars

spark-submit 
--class org.apache.spark.examples.SparkPi 	//class表示需要执行程序的主类
--master spark://master:7077 		//独立部署模式,连接到 Spark 集群

--executor-memory 512m 			//指定每个 executor 可用内存为 512M
--total-executor-cores 1 			//指定所有executor使用的cpu核数为 2 个

spark-examples_2.11-2.4.5.jar 100		//运行类所在的jar包 参数

(2)standalone cluster模式 上线使用,不会再本地打印日志

spark-submit 
--class org.apache.spark.examples.SparkPi 
--master spark://master:7077 
--driver-memory 512m 
--deploy-mode cluster 
--supervise 
--executor-memory 512M 
--total-executor-cores 1 
spark-examples_2.11-2.4.5.jar 100
6、spark在yarn上运行的模式

(1)spark on yarn client模式 日志在本地输出,一般用于上线前测试

spark-submit 
--class org.apache.spark.examples.SparkPi 
--master yarn-client 
--executor-memory 512M 	//申请一次的内存大小
--num-executors 2 		//申请2次
spark-examples_2.11-2.4.5.jar 100

粗粒度资源调度:一次性将需要的资源全部申请(不管用不用)
细粒度资源调度(mapreduce):跑一个申请一个,跑完释放

(2)spark on yarn cluster模式 上线使用,不会在本地打印日志 减少io

spark-submit 
--class org.apache.spark.examples.SparkPi 
--master yarn-cluster 
--executor-memory 512m 
--num-executors 2 
--executor-cores 1 
spark-examples_2.11-2.4.5.jar 100

获取yarn程序执行日志 执行成功之后才能获取到

yarn logs -applicationId application_1560967444524_0003
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/582429.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号