2021年国企面试大数据必备知识点包含spark、RDD、数据倾斜、spark调优等
5页1、1 基础概念1 spark是什么?RDD是什么?Spark 是一个用来实现快速而通用的集群计算的平台。RDD是弹性分布式数据集,弹性是指数据默认放在内存,当内存放不下了会放到磁盘,RDD的分区数量可以改变,通过repartition可以改变RDD的分区数量。分布式表示数据被分配到了多台机器,可以并行在集群计算。 Application:用户编写的Spark应用程序,由一个或多个Job组成。提交到Spark之后,Spark会为Application分配资源,将程序进行转换并执行。 Job(作业):由Action算子触发生成的由一个或多个Stage组成的计算作业。 Stage(调度阶段):每个Job会根据RDD的宽依赖被切分为多个Stage,每个Stage都包含一个TaskSet。 TaskSet(任务集):一组关联的,但相互之间没有shuffle依赖关系的Task集合。一个TaskSet对应的调度阶段。 Task(任务):RDD中的一个分区对应一个Task,Task是单个分区上最小的处理流程单元。2 RDD的特性?分区:通过分区列表可以找到一个RDD中包含的所有分区及其所在地址。RDD
2、是由多个 partition(某个节点里某一片连续的数据)组成的 List,将数据加载为 RDD 时,一般一个 hdfs 中的 block 会加载为一个 partition。依赖:记录子RDD对父RDD的依赖,当RDD操作出错时,根据依赖关系重新计算丢失分区的数据。窄依赖重新计算数据利用率是百分百,宽依赖不是百分百。算子操作:转换(transformation)与行动(Action)。Transformation操作是延迟计算的,也就是说从一个RDD转换生成另一个RDD的转换操作不是马上执行,需要等到有Action操作的时候才会真正触发运算。Action算子会触发Spark提交作业(Job),并将数据输出Spark系统。位置优先(可选):也就是数据的本地性,比如 HDFS 的 block 的所在位置应该是优先计算的位置。本地有数据就取本地,没有去远程拉取。分区器(可选):只针对KV类型的RDD。可以传递自定义 Partitioner 重新分区。默认为Hash。3 RDD算子Transformation:返回新 RDD的操作,转化出来的 RDD 是惰性求值的,只有在行动操作中用到这些 R
3、DD 时才会被计算。Map(func):对调用map的RDD中的每个元素都执行func,返回一个新的RDD。Filter(func):对调用filter的RDD中的每个元素都执行func,返回一个包含使func为true的元素组成的RDD。Distinct:对RDD进行去重操作。Union:生成包含两个RDD元素的新RDD。MapValues:针对PairRDD,key不变,对value进行操作,和key组成新的元素。reduceByKey:对key相同的元素的value值执行funct的操作,返回新的RDDgroupByKey:将相同Key的值进行聚集,输出一个(K, IterableV)类型的RDDsortByKey:在一个(K,V)的RDD上调用,K必须实现Ordered接口,返回一个按照key进行排序的(K,V)的RDD。Action:Collect:以数组形式返回RDD内的所有元素CollectAsMap:以map的形式返回PairRDD的所有元素Count:返回RDD中元素的个数First:返回RDD中的首个元素。Foreach:逐个处理RDD中的元素。持久化:对RDD执行
4、持久化操作时,每个节点都会将自己操作的RDD的partition持久化到内存中,并且在之后对该RDD的反复使用中,直接使用内存缓存的partition。这样的话,对于针对一个RDD反复执行多个操作的场景,就只要对RDD计算一次即可,后面直接使用该RDD,而不需要反复计算多次该RDD。2 什么是宽窄依赖、DAG、stage?窄依赖:父RDD和子RDD的partition之间一对一,或者当父RDD的partition只对应一个子RDD的partition时,父RDD的partition和子RDD partition之间的多对一关系。例如:map、filter、union宽依赖:父RDD的partition和子RDD的partition的多对一关系。例如:reduceByKey、groupByKeyDAG:spark会根据RDD之间的依赖关系,形成一个DAG有向无环图。DAG会提交给DAGschedular,DAGschedular根据宽窄依赖划分stage,每遇到一个宽依赖就划分为一个stage,每个stage包含一个或一组task组成,task以taskset的形式提交给tasksche
《2021年国企面试大数据必备知识点包含spark、RDD、数据倾斜、spark调优等》由会员孙盼分享,可在线阅读,更多相关《2021年国企面试大数据必备知识点包含spark、RDD、数据倾斜、spark调优等》请在金锄头文库上搜索。
2021年国企面试数据库必备知识点包含索引、范式、事务、封锁、引擎等
PCA_实验报告(含代码、实验流程图结果分析等)
2021年面试常问的计算机网络知识点期末考试
2021年面试常问的40个数据库小知识点
SVM支持向量机实验报告(含代码、实验流程图结果分析等)
2021年面试常问的C++知识点
2021年国企面试大数据必备知识点包含spark、RDD、数据倾斜、spark调优等
人工智能社交软件调查问卷_2
2021年面试常问的JAVA基础知识点包含容器、多线程、垃圾回收机制、反射JVM等
人工智能社交软件调查问卷_1
2021年面试JAVA必备知识点《JAVA面试宝典》笔记
2021年面试常问的死锁、三次握手、四次挥手
面试JAVA必备知识点《JAVA面试宝典》笔记
面试常问的JAVA基础知识点包含容器、多线程、垃圾回收机制、反射JVM等
2023-07-03 15页
2023-07-03 6页
2023-06-28 13页
2022-10-26 6页
2022-10-25 5页
2022-10-25 7页
2022-10-25 13页
2022-10-25 3页
2022-10-25 20页
2022-10-25 5页