spark优化之并行度

这个其实我前面已经记录过了,这里在记录一下。

我可以通过参数人为的来控制分区大小,增加分区中即可增加任务的并行度,并行度高自然运行的就快了嘛。

官方推荐集群中每个cpu并行的任务是2-3个(也就是2-3个partition),这样对于资源使用是最充分的

那么如何调整并行度呢。

在类似 sc.textFile 的方法中的第二个参数即可调整分区滴

时间: 2024-10-01 03:40:01

spark优化之并行度的相关文章

Spark优化一则 - 减少Shuffle

Spark优化一则 - 减少Shuffle 看了Spark Summit 2014的A Deeper Understanding of Spark Internals,视频(要科学上网)详细讲解了Spark的工作原理,Slides的45页给原始算法和优化算法. 破砂锅用自己3节点的Spark集群试验了这个优化算法,并进一步找到更快的算法.测试数据是Sogou实验室的日志文件前10000000条数据.目标是对日志第2列数据,按照第一个字母合并,得到每个首字母有几条记录. 所有的方案都重新启动Spa

【总结】Spark优化-多Job并发执行

Spark程序中一个Job的触发是通过一个Action算子,比如count(), saveAsTextFile()等 在这次Spark优化测试中,从Hive中读取数据,将其另外保存四份,其中两个Job采用串行方式,另外两个Job采用并行方式.将任务提交到Yarn中执行.能够明显看出串行与兵线处理的性能. 每个Job执行时间: JobID 开始时间 结束时间 耗时 Job 0 16:59:45 17:00:34 49s Job 1 17:00:34 17:01:13 39s Job 2 17:01

spark优化

优化一般考虑资源优化 一.资源优化 I 集群方面的:driver的内存,worker内存,核数 方法 1.配置文件:spark-env.sh(配置worker的信息) SPARK_WORKER_CORE 每个worker的使用总核数 SPARK_WORKER_MEMORY 每个worker所使用的内存数(shuffer阶段利用netty 传输文件还会使用到的executor堆外内存也在其中) SPARK_WORKER_INSTANCE 每台节点上启动的worker数量(standalone集群上

Spark优化之gc

对于官方Programming Guides的GC优化一节做了阅读. 在这里记录一下我的理解,可能记录的比较混乱没有条理: 我理解其实GC优化的主要目的就是在你的任务执行中使用更少的内存,进行更少的gc回收,因为GC回收会使你的任务执行的更慢. 使用-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps可以在日志中观察你的程序执行过程中GC回收的情况.根据日志进行优化.例如你发现回收的过于频繁,那么就要看一下是不是你的程序和内存使用是否有问题

spark优化(一):合理分配资源

分配更多资源:性能调优的王道,就是增加和分配更多的资源,性能和速度上的提升,是显而易见的:基本上,在一定范围之内,增加资源与性能的提升,是成正比的:写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,我觉得,就是要来调节最优的资源配置:在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限:那么才是考虑去做后面的这些性能调优的点. 问题:1.分配哪些资源?2.在哪里分配这些资源?3.为什么多分配了这些资源以后,性

spark优化之临时目录

官方是这样说的: Directory to use for "scratch" space in Spark, including map output files and RDDs that get stored on disk. This should be on a fast, local disk in your system. It can also be a comma-separated list of multiple directories on different

spark优化之数据结构(减少内存)

官网是这么说的: The first way to reduce memory consumption is to avoid the Java features that add overhead, such as pointer-based data structures and wrapper objects. There are several ways to do this:1.Design your data structures to prefer arrays of object

spark性能优化

一:Spark的性能优化,主要手段包括:1.使用高性能序列化类库2.优化数据结构3.对多次使用的RDD进行持久化 / Checkpoint4.使用序列化的持久化级别5.Java虚拟机垃圾回收调优6.提高并行度7.广播共享数据8.数据本地化9.reduceByKey和groupByKey的合理使用10.Shuffle调优(核心中的核心,重中之重) 二:spark诊断内存消耗 java主要的内存消耗 1.每个Java对象,都有一个对象头,会占用16个字节,主要是包括了一些对象的元信息,比如指向它的类

Spark性能调优之合理设置并行度

Spark性能调优之合理设置并行度 1.Spark的并行度指的是什么?  spark作业中,各个stage的task的数量,也就代表了spark作业在各个阶段stage的并行度! 当分配完所能分配的最大资源了,然后对应资源去调节程序的并行度,如果并行度没有与资源相匹配,那么导致你分配下去的资源都浪费掉了.同时并行运行,还可以让每个task要处理的数量变少(很简单的原理.合理设置并行度,可以充分利用集群资源,减少每个task处理数据量,而增加性能加快运行速度.)   举例: 假如, 现在已经在sp