Spark
文章平均质量分 78
Aying_seeya
专研大数据、Java ...
展开
-
Spark——什么是数据倾斜,怎样去处理数据倾斜?(最全)
数据倾斜是一种很常见的问题(依据二八定律),简单来说,比方WordCount中某个Key对应的数据量非常大的话,就会产生数据倾斜,导致两个后果:OOM(单或少数的节点);拖慢整个Job执行时间(其他已经完成的节点都在等这个还在做的节点)数据倾斜主要分为两类: 聚合倾斜 和 join倾斜聚合倾斜双重聚合(局部聚合+全局聚合)场景: 对RDD进行reduceByKey等聚合类shuffle算子,SparkSQL的groupBy做分组聚合这两种情况 思路:首先通过map给每个key打上n以内的原创 2020-09-09 22:53:55 · 541 阅读 · 0 评论 -
spark2.0为什么放弃了akka 而用netty?
很多Spark用户也使用Akka,但是由于Akka不同版本之间无法互相通信,这就要求用户必须使用跟Spark完全一样的Akka版本,导致用户无法升级Akka。Spark的Akka配置是针对Spark自身来调优的,可能跟用户自己代码中的Akka配置冲突。Spark用的Akka特性很少,这部分特性很容易自己实现。同时,这部分代码量相比Akka来说少很多,debug比较容易。如果遇到什么bug,也可以自己马上fix,不需要等Akka上游发布新版本。而且,Spark升级Akka本身又因为第一点会强制要求用户升.原创 2020-09-09 22:39:28 · 1054 阅读 · 2 评论 -
SparkStreaming算子
SparkStreaming算子分为两类:transformation算子和outputOperator算子transformation算子:flatMap、count、mapToPair、map、countByValue、repartition、filter、join、union、Reduce、reduceByKey、updataStateByKey、Window、transformoutputOperator算子:print、foreachRDD、saveAsTextFile、saveAsHado.原创 2020-08-07 15:40:13 · 598 阅读 · 0 评论 -
spark资源调度模式
1.资源调度模式1.1 local模式(本地)运行该模式非常简单,只需要把Spark的安装包解压后,改一些常用的配置即可使用,而不用启动Spark的Master、Worker守护进程( 只有采用集群的Standalone方式时,才需要这两个角色),也不用启动Hadoop的各服务(除非要用到HDFS文件系统)。Spark不一定非要跑在hadoop集群,可以在本地,起多个线程的方式来指定。将Spark应用以多线程的方式直接运行在本地,一般都是为了方便调试,本地单机模式分三类:local: 只启动一个ex原创 2020-08-07 15:31:07 · 496 阅读 · 0 评论 -
Spark——知识梳理(一)
一、 资源管理工具二、 spark资源调度?1.Spark-standaloneStandalone的模式下,spark的资源管理和调度是自己来管理和调度的,主要由master来管理。2.Spark-yarnResourceManagerNodeManagerApplicationMasterContainer(资源)TaskHadoop集群上面 Yarn执行任务的流程:Client提交任务给resourceManager,resourceManager会选择一台机器开启一个conta原创 2020-06-30 19:53:42 · 270 阅读 · 0 评论 -
Spark—— DAG 如何划分stage?
DAG介绍DAG是什么DAG(Directed Acyclic Graph有向无环图) 指的是数据转换执行的过程,有方向,无闭环(其实就是RDD执行的流程)原始的RDD通过一系列的转换操作就形成了DAG有向无环图,任务执行时,可以按照DAG的描述,执行真正的计算(数据被操作的一个过程)DAG的边界开始:通过SparkContext创建的RDD结束:触发Action,一旦触发Action就形成了一个完整的DAG注意:一个Spark应用中可以有一到多个DAG,取决于触发了多少次A原创 2020-07-14 11:37:36 · 746 阅读 · 0 评论 -
Flink——flink和sparkStreaming 对比?
批处理(批量)_sparkStreaming处理完成一条数据后,将其序列化到缓存中,当缓存写满时,就持久化到本地硬盘上;在所有数据都被处理完成后,才开始将其通过网络传输到下一个节点适合有边界数据使用DataSet要求高吞吐流处理(逐个)_flink在处理完成一条数据后,将其序列化到缓存中,并立刻通过网络传输到下一个节点,由下一个节点继续处理。适合无边界数据使用DataStream要求低延迟批处理和流处理(DataSet和DataStream)最大的区别在于对时间的处理。另外原创 2020-07-14 11:27:41 · 1419 阅读 · 0 评论 -
SparkStreaming+Kafka
SparkStreaming+Kafka 维护消费者offsetSparkStreaming+Kafka Receiver 模式SparkStreaming+Kafka Direct 模式原创 2020-03-31 10:40:01 · 181 阅读 · 0 评论 -
SparkStreaming接受数据原理
原创 2020-03-18 11:10:31 · 156 阅读 · 0 评论 -
SparkStreaming与Storm的区别
原创 2020-03-18 11:09:09 · 165 阅读 · 0 评论 -
Spark经典面试题(二)
1.什么是spark?spark是基于内存计算的通用大数据并行计算框架,是一个快速、通用可扩展的大数据分析引擎。它给出了大一统的软件开发栈,适用于不同场合的分布式场景,如批处理、迭代算法、交互式查询、流处理、机器学习和图计算。2.Spark生态系统?SparkCore:spark的核心计算 主要RddSparkSQLa:提供了类sql方式操作结构化半结构化数据。对历史数据进行交互式查询。(...原创 2020-02-15 20:34:28 · 1023 阅读 · 0 评论 -
SparkShuffle 及性能调优
shuffle调优调优概述 大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部分而已。因此...原创 2020-02-04 18:33:05 · 824 阅读 · 0 评论 -
Spark经典面试题
1.什么spark?spark是基于内存计算的通用大数据并行计算框架,是一个快速、通用可扩展的大数据分析引擎。它给出了大一统的软件开发栈,适用于不同场合的分布式场景,如批处理、迭代算法、交互式查询、流处理、机器学习和图计算。2.spark生态有哪些?SparkCore:spark的核心计算 主要RddSparkSQL:提供了类sql方式操作结构化半结构化数据。对历史数据进行交互式查询。(...原创 2020-02-03 19:32:19 · 2274 阅读 · 0 评论 -
spark优化要点(开发)
背景为什么需要调优??程序都是能跑的,集群还是那个集群,但是有可能另外一个会调优的人和你写的代码的运行的速度要几倍甚至几十倍1.开发调优1.1 原则一:避免创建重复的RDD我们有一份数据 ,student.txt第一个需求 :wordCount val stuRDD = sc.textFile(“e://sparkData//student.txt”)第二个需求:算有多少个学生 ...原创 2020-02-03 11:32:56 · 534 阅读 · 0 评论 -
Spark——控制算子
概念:控制算子有三种,cache,persist,checkpoint,以上算子都可以将RDD持久化,持久化的单位是partition。cache和persist都是懒执行的。必须有一个action类算子触发执行。checkpoint算子不仅能将RDD持久化到磁盘,还能切断RDD之间的依赖关系。cache默认将RDD的数据持久化到内存中。cache是懒执行。注意:chche () = p...原创 2020-01-03 12:03:27 · 530 阅读 · 0 评论 -
Spark——Transformation算子 & Action算子
Transformations转换算子概念:Transformations类算子是一类算子(函数)叫做转换算子,如map,flatMap,reduceByKey等。Transformations算子是延迟执行,也叫懒加载执行。Transformation类算子:filter过滤符合条件的记录数,true保留,false过滤掉。map将一个RDD中的每个数据项,通过map中的函...原创 2020-01-03 10:43:17 · 1143 阅读 · 0 评论 -
Spark提交任务模式 详细流程
Spark基于Standalone-client 提交任务提交任务命令:./spark-submit --master spark://node1:7077 --class …jar…./spark-submit --master spark://node1:7077 --deploy-mode client --class …jar…Spark基于Standalone-cluster ...原创 2019-12-28 09:59:07 · 345 阅读 · 0 评论 -
SparkCore——弹性分布式数据集(RDD)的特性 以及应注意的问题
RDD的五大特性:1.RDD是由一系列的partition组成的。2.函数是作用在每一个partition(split)上的。3.RDD之间有一系列的依赖关系。4.分区器是作用在K,V格式的RDD上。5.RDD提供一系列最佳的计算位置。RDD理解图:注意:textFile方法底层封装的是读取MR读取文件的方式,读取文件之前先split,默认split大小是一个block大小。R...原创 2019-12-31 10:52:13 · 351 阅读 · 0 评论