【场景】  Spark对RDD执行一系列算子操作时,都会重新从头到尾计算一遍。如果中间结果RDD后续需要被被调用多次,可以显式调用 cache()和 persist(),以告知 Spark,临时保存之前的计算结果,这样后续多个RDD使用时,就不用重新计算该临时结果了,从而节约计算资源。  要注意cache和persist是惰性的,需要action算子来触发。   
前言Spark SQL里面有很多的参数,而且这些参数Spark官网中没有明确的解释,可能是太多了吧,可以通过在spark-sql中使用set -v 命令显示当前spar...
转载 2021-06-10 20:56:42
3359阅读
前言Spark SQL里面有很多的参数,而且这些参数Spark官网中没有明确的解释,可能是太多了吧,可以通过在spark-sql中使用set -v 命令显示当前spar...
转载 2021-06-10 20:56:41
3441阅读
资源参数Spark资源参数,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源的使用效率,从而提高Spark的运行效率。 num-executors ###参数说明:该参数用于设置Spark作业总共要用多少个Executor进程来执行。Driver在向集群管理器申请资源时,资源管理器会尽可能按照设置在集群各个节点上,启动相应的Executor进程。该参数
转载 2023-08-06 08:33:02
134阅读
前置主要涉及6个参数,从3个方面:executor、core、内存的大小,并行度,内存管理 进行优化的方案资源分配num-executors:spark使用多少个executors executor-cores:core和task的数量 这2个参数要结合一起来配置,还要考虑可用的计算资源,executor-cores设置为2-4个比较合适,num-executors就是总共可用的cores 除
1. spark 性能 a. 分配更多资源——第一步要做的 比如增加 executor个数(num_executor)、增加 executor 的 cpu 核数(executor_cores)、增加 executor 的内存量(executor_memory) 增加 executor个数 和 executor 的 cpu 核数是为了增加执行的并行能力(能够并行执行的task数量也变多了);
转载 2023-08-29 19:46:26
165阅读
Spark 性能优化概览: 由于Spark 的计算本质是分布式计算。 Spark程序的性能可能因为集群中的任何因素出现瓶颈:CPU,网络带宽、内存。如果内存比较紧张,不足以放下所有数据,需要对内存的使用进行性能优化。 比如说:使用一些手段来减少内存消耗。park的性能优化,其实主要就是在对于内存的使用进行Spark 性能优化的主要手段:1、使用高性能的序列化类库 2、优化数据结构 3、RDD
1、常规性能:分配资源、并行度。。。等$SPARK_HOME/bin/spark-submit\ --class cn.spark.sparkTest.WC\ --master yarn-client\ --driver-mamory 2G\ --num-excutor 3\ --excutor-mamory 4g --excutor-cores 3\ --conf ----\ /usr/lo
转载 2023-05-24 10:51:50
117阅读
spark参数摘要 1.num-executors 2.executor-memory 3.executor-cores 4.driver-memory 5.spark.default.parallelism 6.spark.storage.memoryFraction 7.spark.shuf ...
转载 2021-08-02 19:01:00
1292阅读
2评论
调整partition数量,每次reduece和distict的时候都应该调整,数量太大和太小都不好,通常来讲保证一个partition的大小在1~2G左右为宜 调整excutors 调整core 调整内存 使用cache (但是在内存不够的情况下,最好不要用,可能会频繁GC) 尽量减少shuffl
原创 2021-09-14 11:17:31
143阅读
hive on spark 性能远比hive on mr 要好,而且提供了一样的功能。用户的sql无需修改就可以直接运行于hive on spark。 udf函数也是全部支持。本文主要是想讲hive on spark 在运行于yarn模式的情况下如何。下文举例讲解的yarn节点机器配置,假设有32核,120GB内存。1. yarn配置yarn.nodemanage
转载 2023-07-20 18:49:27
169阅读
Spark sufflespark.shuffle.file.buffer默认值:32k参数说明:该参数用于设置shuffle write task的BufferedOutputStream的buffer缓冲大小。将数据写到磁盘文件之前,会先写入buffer缓冲中,待缓冲写满之后,才会溢写到磁盘。建议:如果作业可用的内存资源较为充足的话,可以适当增加这个参数的大小(比如64k),从而减少s
Spark性能手段:判断内存消耗:设置RDD并行度,将RDD cache到内存,通过BlockManagerMasterActor添加RDD到memory中的日志查看每个partition占了多少内存,最后乘以partition数量,即是RDD内存占用量。1.Shuffle(核心)a.consolidation机制,使shuffleMapTask端写磁盘的文件数量减少,resultTask
转载 2023-08-01 15:22:31
116阅读
资源参数了解完了Spark作业运行的基本原理之后,对资源相关的参数就容易理解了。所谓的Spark资源参数,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效率,从而提升Spark作业的执行性能。以下参数就是Spark中主要的资源参数,每个参数都对应着作业运行原理中的某个部分,我们同时也给出了一个的参考值。num-executors参数说明:该参数
原创 2023-05-31 11:32:46
134阅读
        引导语:我曾有一种感觉,不管何种方式,索引是最根本的方法,是一切优化手法的内功,所以一下我们将讨论一些和索引相关的方式。在日常工作或交流中,经常会讨论一些关于sql的问题,然后总结了下,下面我们主要是从软件方面进行分析,希望对你有帮助:      &n
前言Hive on Spark是指使用Spark替代传统MapReduce作为Hive的执行引擎,在HIVE-7292提出。Hive on Spark的效率比on MR要高不少,但是也需要合理调整参数才能最大化性能,本文简单列举一些项。为了符合实际情况,Spark也采用on YARN部署方式来说明。Driver参数spark.driver.cores该参数表示每个Executor可利用的CPU
【生产实践经验】  生产实践中的切身体会是:影响Spark性能的大BOSS就是shuffle,抓住并解决shuffle这个主要原因,事半功倍。 【Shuffle原理学习笔记】  1.未经优化的HashShuffleManager注:这是spark1.2版本之前,最早使用的shuffle方法,这种shuffle方法不要使用,只是用来对比改进后的shuffle方法。 如上图,上游每
转载 2023-06-19 14:02:06
102阅读
Hive on Spark是指使用Spark替代传统MapReduce作为Hive的执行引擎。Hive on Spark的效率比on MR要高不少,但是也需要合理调整参数才能最大化性能。生产环境spark脚本的配置:bin/spark-submit \ --class com.yyds.spark.Wordcount \ --deploy-mode cluster \ --num-executor
转载 2022-06-23 14:38:21
174阅读
1 spark优化Spark性能优化的第一步就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。开发,需要了解以下一些Spark基本开发原则,包括:RDD lineage设计、算子的合理使用、特殊操作的优化等。在开发过程中,时时刻刻都应该注意以下原则,并将这些原则根据具体的业务以及实际的应用场景,灵活地运用到自己的Spark作业中。1.1 资源参数num-executors
Spark | Spark Streaming 1、数据序列化2、广播大变量3、数据处理和接收时的并行度4、设置合理的批处理间隔5、内存优化5.1 内存管理5.2优化策略5.3垃圾回收(GC)优化5.5Spark Streaming 内存优化6、实例项目6.1合理的批处理时间(batchDuration)6.2合理的 Kafka 拉取量(maxRatePerPartition 参数设置...
转载 2021-06-01 12:16:08
667阅读
  • 1
  • 2
  • 3
  • 4
  • 5