首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏简单聊聊Spark

    Spark性能九之常用算子

            前面介绍了很多关于Spark性能的手段,今天来介绍一下Spark性能的最后一个点,就是关于Spark中常用算子。 mapPartitions优化 2.filter操作之后使用coalesce算子提高性能 先看看默认情况下,执行完filter操作以后的各个partition的情况,如下图所示; ? coalesce算子就是针对上述出现的问题的一个解决方案,下图是一个解决案例。 ? 就是使用repartition算子,对SparkSQL查询出来的数据重新进行分区操作,此时可以增加分区的个数。具体使用如下图所示: ? 总结:关于RDD算子的优化,就先讲到这里。 关于整个Spark,基本先告一段落,后面会介绍一些Spark源码分析的知识,欢迎关注。 如需转载,请注明: z小赵 Spark性能九之常用算子

    1.4K10发布于 2018-09-05
  • 来自专栏不温卜火

    Spark性能优化 (2) | 算子

    一. mapPartitions 普通的 map 算子对 RDD 中的每一个元素进行操作,而 mapPartitions 算子对 RDD 中每一个分区进行操作。 因此,mapPartitions算子适用于数据量不是特别大的时候,此时使用mapPartitions算子对性能的提升效果还是不错的。 算子。 我们需要coalesce算子。 四. repartition解决 SparkSQL 低并行度问题 在第一节的常规性能中我们讲解了并行度的调节策略,但是,并行度的设置对于Spark SQL是不生效的,用户设置的并行度只对于Spark

    1.7K20发布于 2020-10-28
  • Sparse FlashAttention 算子架构分析与技巧

    算子设计Sparse FlashAttention算子的设计充分结合了FlashAttention的融合思想和稀疏计算特点。 与传统将这些步骤拆分为多个算子不同,融合算子通过在UB缓冲区反复利用小块数据,实现了计算与数据搬运的高度重叠,并避免了中间大矩阵的物理落地,大幅提升了算子算力和带宽利用率。 Ascend优化实践中通常采用\自适应块大小调:根据硬件的L0/UB大小和向量寄存器宽度,计算出适合当前模型和硬件的最佳(block_m, block_n, block_k)分块维度,并确保这些维度对齐硬件向量宽度以避免向量指令处理 策略与结果Ascend平台的Sparse FlashAttention实现中采用了一系列调策略,并取得了显著的性能收益。 过程中,通过分析算子时间线发现Cube(矩阵乘法)和Vector(激活函数等)之间存在空闲等待,于是采用**CV流水优化:让Cube一次性计算多个块的部分结果并暂存,然后Vector端分次取出处理。

    45610编辑于 2026-01-13
  • 来自专栏五分钟学大数据

    Spark性能-RDD算子篇(深度好文,面试常问,建议收藏)

    Spark之RDD算子 1. RDD复用 在对RDD进行算子时,要避免相同的算子和计算逻辑之下对RDD进行重复的计算,如下图所示: ? 因此,mapPartitions算子适用于数据量不是特别大的时候,此时使用mapPartitions算子对性能的提升效果还是不错的。 算子。 我们需要coalesce算子9.

    1K10发布于 2021-04-01
  • 来自专栏crmeb

    9 个 Java 性能技巧,YYDS!

    在我们学习特定的 Java 编程性能之前,先来探讨一些通用的技巧。1. 在明确必要之前别急着优化这可能是最重要的性能优化技巧之一。你应该遵循常见的最佳实践做法并在案例中高效地应用它。 常见的通用技巧到此结束。接下来让我们仔细看看一些特定于 Java 的技巧。5. 使用 StringBuilder 以编程方式连接字符串在 Java 中有很多不同的选项来连接字符串。 所以,最后,这段代码在日志文件中写入 “This is a test0 1 2 3 4 5 6 7 8 9” 。 Apache Commons StringUtils.Replace 而不是 String.replace一般来说,String.replace 方法可以正常工作,并且效率很高,尤其是在你使用 Java 9 thistest.replace(“test”, “simple test”);// with thisStringUtils.replace(test, “test”, “simple test”);9.

    47540编辑于 2022-07-07
  • 来自专栏Java后端技术栈cwnait

    Java 9 中的 GC 基础

    本文将主要讲解GC需要知道的一些基础知识,会涉及到一些GC的实现细节,但不会对实现细节做很全面的阐述,如果你看完本文之后,能对GC有一个大致的认识,那本文的写作目的也就达到了。 本文将包含以下内容: GC的作用范围 GC负责的事情 JVM中的4种GC G1的一些细节 使用Java 9正式版对G1进行测试 一些简单的GC方法 一、GC的作用范围 要谈GC的作用范围,首先要谈JVM GC,Java 9中默认使用G1。 一些简单的GC方法 1. 使用不同的索引对象 引用的类型会直接影响其所引用对象的GC行为,当要做一些内存敏感的应用时,可以参考使用合适的引用类型。 在Parallel里,可以通过参数调节最大停止时间(-XX:MaxGCPauseMillis,默认无设置)和吞吐量(-XX:GCTimeRatio,默认值是99,即最大使用1%的时间来做垃圾回收)来

    79840发布于 2019-08-02
  • 来自专栏java一日一条

    Java 9 中的 GC 基础

    本文将主要讲解GC需要知道的一些基础知识,会涉及到一些GC的实现细节,但不会对实现细节做很全面的阐述,如果你看完本文之后,能对GC有一个大致的认识,那本文的写作目的也就达到了。 本文将包含以下内容: GC的作用范围 GC负责的事情 JVM中的4种GC G1的一些细节 使用Java 9正式版对G1进行测试 一些简单的GC方法 一、GC的作用范围 要谈GC的作用范围,首先要谈JVM 一些简单的GC方法 1. 使用不同的索引对象 引用的类型会直接影响其所引用对象的GC行为,当要做一些内存敏感的应用时,可以参考使用合适的引用类型。 在Parallel里,可以通过参数调节最大停止时间(-XX:MaxGCPauseMillis,默认无设置)和吞吐量(-XX:GCTimeRatio,默认值是99,即最大使用1%的时间来做垃圾回收)来 G1提供了丰富的基于不同目的的可调的参数,列表如下: ?

    71920发布于 2018-09-14
  • 来自专栏架构师之旅

    Java9中的GC基础

    本文将主要讲解GC需要知道的一些基础知识,会涉及到一些GC的实现细节,但不会对实现细节做很全面的阐述,如果你看完本文之后,能对GC有一个大致的认识,那本文的写作目的也就达到了。 本文将包含以下内容: GC的作用范围 GC负责的事情 JVM中的4种GC G1的一些细节 使用Java 9正式版对G1进行测试 一些简单的GC方法 一、GC的作用范围 要谈GC的作用范围,首先要谈JVM GC,Java 9中默认使用G1。 一些简单的GC方法 1. 使用不同的索引对象 引用的类型会直接影响其所引用对象的GC行为,当要做一些内存敏感的应用时,可以参考使用合适的引用类型。 在Parallel里,可以通过参数调节最大停止时间(-XX:MaxGCPauseMillis,默认无设置)和吞吐量(-XX:GCTimeRatio,默认值是99,即最大使用1%的时间来做垃圾回收)来

    86870发布于 2018-01-30
  • 来自专栏嵌入式与Linux那些事

    Linux 性能工具的 9 张图

    它们展示了:Linux 可观察性工具、 Linux 静态性能分析工具、 Linux 基准测试工具、 Linux 工具和Linux sar。 性能观察工具: 静态性能工具 性能压测工具: 性能工具 sar perf-tools 追踪工具 BPF性能工具:

    32521编辑于 2024-07-05
  • 来自专栏chenchenchen

    SQL之性能

    针对专门操作符的 前面,讲的是关于查询条件的一般规则,在这一节中,将讨论如何使用专门的操作符来改进 SQL 代码的性能。 本文总结的是一些 SQL 性能的比较初级的方面,SQL 还包括 Order by,Group by 以及 Index 等等。

    2.3K30发布于 2019-12-03
  • 来自专栏LhWorld哥陪你聊算法

    【Spark篇】---Spark之代码,数据本地化,内存,SparkShuffle,Executor的堆外内存

    一、前述 Spark中大致分为以下几种 ,代码,数据本地化,内存,SparkShuffle,调节Executor的堆外内存。 二、具体    1、代码 1、避免创建重复的RDD,尽量使用同一个RDD 2、对多次使用的RDD进行持久化 如何选择一种最合适的持久化策略? 通过日志或者WEBUI 3、内存 ? Spark  JVM主要是降低gc时间,可以修改Executor内存的比例参数。 RDD缓存、task定义运行的算子函数,可能会创建很多对象,这样会占用大量的堆内存。 Spark中如何内存

    2.1K30发布于 2018-09-13
  • 来自专栏肉眼品世界

    9张Linux性能工具图,建议收藏!

    它们展示了:Linux 可观察性工具、 Linux 静态性能分析工具、 Linux 基准测试工具、 Linux 工具和Linux sar。 性能观察工具: 静态性能工具 性能压测工具: 性能工具 sar perf-tools 追踪工具 BPF性能工具:

    65710编辑于 2022-01-20
  • 来自专栏纯洁的微笑

    Tomcat 性能之 JVM

    因此在对Web 容器( 应用服务器) 的中必不可少的是对于 JVM 的。 对于 JVM 的,主要有两个方面考虑: 内存大小配置 垃圾回收算法选择 当然,确切的说,以上两点并不互相独立,内存的大小配置也会影响垃圾回收的执行效率。 延迟、吞吐量 其他 JVM 配置 垃圾回收算法对应到的就是不同的垃圾收集器,具体到在 JVM 中的配置,是使用 -XX:+UseParallelOldGC 或者 -XX:+UseConcMarkSweepGC 所谓,就是一个不断调整和优化的过程,需要观察、配置、测试再如此重复。有相关经验的朋友欢迎留言补充! 说到底,那上面的这些选项是要配置在哪里呢?

    2.2K30发布于 2019-05-06
  • 来自专栏有关SQL

    Hive 性能,这 9 点都掌握了?

    compute statistics for columns sender, topic; analyze table tweens compute statistics for columns ; 语句级别的

    1.5K20发布于 2019-12-25
  • 来自专栏个人积累

    数据库 项目

    Springboot项目 配置文件 更改Tomcat的相关配置 设置Tomcat的最大连接数 设置请求头最大内存 设置post请求的最大内存 设置Tomcat最大线程数 设置Tomcat 的最小工作线程数 JVM 设置项目启动的参数 在vm option处添加配置内容 -XX:MetaspaceSize=128m #(元空间默认大小) -XX:MaxMetaspaceSize=128m

    1K51发布于 2020-10-10
  • 来自专栏SmartSi

    Spark 性能之Shuffle

    因此,如果要让作业的性能更上一层楼,就有必要对 shuffle 过程进行。 但是也必须提醒大家的是,影响一个 Spark 作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle 只能在整个 Spark 的性能中占到一小部分而已。 因此大家务必把握住的基本原则,千万不要舍本逐末。下面我们就给大家详细讲解 shuffle 的原理,以及相关参数的说明,同时给出各个参数的建议。 2. 5. shuffle相关参数 以下是Shffule过程中的一些主要参数,这里详细讲解了各个参数的功能、默认值以及基于实践经验给出的建议。 建议:在资源参数中讲解过这个参数。如果内存充足,而且很少使用持久化操作,建议调高这个比例,给 shuffle read 的聚合操作更多内存,以避免由于内存不足导致聚合过程中频繁读写磁盘。

    1.8K31发布于 2019-08-08
  • 来自专栏运维经验分享

    tomcat 8 9 性能 优化 centos 7 linux

    个人分类: tomcat 不要单纯为了而去,应该有针对性的去发现不足,解决问题,以提高性能。 所以,的前提是做好各种监控分析,包括服务器基础资源使用、各个应用运行状况、代码质量、数据库状况、等等,根据业务的并发,服务器资源,以及存在的问题,有针对性的去优化。 ==========正文============== 性能的提升,主要从以下几个方面入手: 1,架构 负载均衡,高可用,nginx + tomcat  动静分离,容器化 等, 不具体阐述 2 ,代码 3,tomcat 相关参数优化,jvm。 (1),连接数,线程数,缓存,修改server.xml。 打开被注释的默认连接池配置 默认配置: <! 5,操作系统 硬件: CPU、内存、硬盘、带宽 。 这个属于 不差钱 性质的优化。人民币玩家 不废话。 系统:内核参数.

    2.4K70发布于 2019-03-16
  • 来自专栏SmartSi

    Spark 性能之开发

    Spark的性能实际上是由很多部分组成的,不是调节几个参数就可以立竿见影提升作业性能的。 整套方案主要分为开发、资源、数据倾斜、shuffle几个部分。 开发和资源是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle,面向的是对 本文作为Spark性能优化指南的基础篇,主要讲解开发。 2. 开发 2.1 概述 Spark性能优化的第一步,就是要在开发Spark作业的过程中注意和应用一些性能优化的基本原则。 开发,就是要让大家了解以下一些Spark基本开发原则,包括:RDD lineage设计、算子的合理使用、特殊操作的优化等。

    1.3K31发布于 2019-08-07
  • 来自专栏ApacheHudi

    | Apache Hudi应用指南

    通过Spark作业将数据写入Hudi时,Spark应用的技巧也适用于此。如果要提高性能或可靠性,请牢记以下几点。 GC:请确保遵循Spark指南中的垃圾收集技巧,以避免OutOfMemory错误。

    1.3K20发布于 2021-04-13
  • 来自专栏SmartSi

    Spark 性能之资源

    整套方案主要分为开发、资源、数据倾斜、shuffle几个部分。 开发和资源是所有Spark作业都需要注意和遵循的一些基本原则,是高性能Spark作业的基础;数据倾斜,主要讲解了一套完整的用来解决Spark作业数据倾斜的解决方案;shuffle,面向的是对 本文作为Spark性能优化指南的基础篇,主要讲解资源。 2. 资源 2.1 概述 在开发完Spark作业之后,就该为作业配置合适的资源了。 Spark是根据shuffle类算子来进行stage的划分。如果我们的代码中执行了某个shuffle类算子(比如reduceByKey、join等),那么就会在该算子处,划分出一个stage界限来。 理解作业基本原理,是我们进行资源参数的基本前提。 2.3 资源参数 了解完了Spark作业运行的基本原理之后,对资源相关的参数就容易理解了。

    2K30发布于 2019-08-07
领券