SparkSQL性能优化终极篇

这篇具有很好参考价值的文章主要介绍了SparkSQL性能优化终极篇。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

spark sql优化,Spark最佳实战与性能优化,性能优化,spark,大数据,sparksql,调优

随着Spark版本的不断迭代,SparkSQL底层使用了各种优化技术,无论方便性、性能都已经超越了RDD。因此SparkSQL已经是最常用的Spark开发方式,这里把常用的SparkSQL性能优化技术进行汇总。

使用缓存

  • 缓存
    我们知道spark开发中如果有重复使用dataset/table的时候需要使用缓存来提高性能。比如:
    spark.catalog.cacheTable("view1")
    
    或者:
    spark.table("view1").cache()
    
    如果是dataset可以直接用:
    dataset.cache()
    

    注意:在一个比较复杂的spark程序中使用了缓存,当不需要的使用一定要记得移除缓存释放掉占用的资源:
    spark.catalog.uncacheTable(“view1”)文章来源地址https://www.toymoban.com/news/detail-630783.html

  • 缓存压缩
    建议可以根据实际内存情况调整下面一个参数:
    
    spark.conf.set("spark.sql.inMemoryColumnarStorage.compressed", true)
    
    
    该参数设置为true,Spark会根据数据统计信息,自动为每一列选择单独的压缩编码方式。这样会减少数据检索和内存使用。但是如果内存是足够的,那么默认false就可以&#x

到了这里,关于SparkSQL性能优化终极篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据学习之Spark性能优化

    窄依赖(Narrow Dependency):指父RDD的每个分区只被子RDD的一个分区所使用,例如map、filter等这些算子。一个RDD,对它的父RDD只有简单的一对一的关系,也就是说,RDD的每个partition仅仅依赖于父RDD中的一个partition,父RDD和子RDD的partition之间的对应关系,是一对一的。 宽依赖(Shuffl

    2024年02月04日
    浏览(50)
  • Spark:性能调优实战

    链接: 文字文档 极客链接 一、资源申请并行度 一个Executor中同时可以执行的task数目(在Executor内存不变的情况下,executor-cores数越大,平均下来一个task可以使用的内存就越少) Executor Java进程的堆内存大小,即Executor Java进程的Xmx值 Executor Java进程的off-heap内存,包括JVM over

    2024年04月16日
    浏览(45)
  • Spark---SparkSQL介绍

    Shark是基于Spark计算框架之上且兼容Hive语法的SQL执行引擎,由于底层的计算采用了Spark,性能比MapReduce的Hive普遍快2倍以上,当数据全部load在内存的话,将快10倍以上,因此Shark可以作为交互式查询应用服务来使用。除了基于Spark的特性外,Shark是完全兼容Hive的语法,表结构以及

    2024年01月21日
    浏览(45)
  • 【spark】SparkSQL

    什么是SparkSQL SparkSQL是Spark的一个模块,用于处理海量 结构化数据 为什么学习SparkSQL SparkSQL是非常成熟的海量结构化数据处理框架: 学习SparkSQL主要在2个点: SparkSQL本身十分优秀,支持SQL语言、性能强、可以自动优化、API简单、兼容HIVE等等 企业大面积在使用SparkSQL处理业务数

    2024年01月20日
    浏览(50)
  • spark sql官网优化指南

    缓存数据 调整参数 把数据缓存到内存,spark sql能够只扫描需要列并且会自动压缩数据,占用最小的内存和减小GC压力。这无需多言,内存远远要快于磁盘,spark效率比hive高这个就是一个主要原因。 缓存数据代码 释放缓存 用完后一定要记得释放掉,不要空占的内存浪费资源。

    2024年02月19日
    浏览(36)
  • Spark(15):SparkSQL之DataFrame

    目录 0. 相关文章链接 1. DataFrame的作用 2. 创建DataFrame 3. SQL 语法 4. DSL 语法 5. RDD 转换为 DataFrame 6. DataFrame 转换为 RDD  Spark文章汇总          Spark SQL 的 DataFrame API 允许我们使用 DataFrame 而不用必须去注册临时表或者生成 SQL 表达式。DataFrame API 既有 transformation 操作也有

    2024年02月13日
    浏览(42)
  • Spark(16):SparkSQL之DataSet

    目录 0. 相关文章链接 1. DataSet的定义 2. 创建DataSet 2.1. 使用样例类序列创建 DataSet 2.2. 使用基本类型的序列创建 DataSet 2.3. 注意 3. RDD 转换为 DataSet 4. DataSet 转换为 RDD  Spark文章汇总  DataSet 是具有强类型的数据集合,需要提供对应的类型信息。 在实际使用的时候,很少用到

    2024年02月13日
    浏览(45)
  • Spark SQL优化:NOT IN子查询优化解决

    文章最前 : 我是Octopus,这个名字来源于我的中文名--章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。  相关文章: LEFT ANTI JOIN的使用

    2024年02月05日
    浏览(55)
  • Spark SQL调优实战

    1、 新添参数说明 // D river 和Executor内存和CPU资源相关配置 -- 是否开启 executor 动态分配 , 开启时 spark.executor.instances 不生效 spark.dynamicAllocation.enabled= false --配置Driver内存 spark.dirver.memory=5g --driver最大结果大小,设置为0代表不限制,driver在拉取结果时,如果结果超过阈值会报异

    2024年02月21日
    浏览(32)
  • Spark Streaming实战与优化

    作者:禅与计算机程序设计艺术 Spark Streaming 是 Apache Spark 的一个模块,可以用于对实时数据流进行快速、高容错的处理。它允许用户开发高吞吐量、复杂的实时分析应用程序。Spark Streaming 可以与 Apache Kafka 或 Flume 等工具进行集成,从而实现实时数据采集和 ETL(Extract-Transfo

    2024年02月06日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包