亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Spark SQL關(guān)于性能調(diào)優(yōu)選項(xiàng)詳解

 更新時(shí)間:2023年02月01日 10:59:44   作者:CarveStone  
這篇文章將為大家詳細(xì)講解有關(guān)Spark SQL性能調(diào)優(yōu)選項(xiàng),小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲

Spark_SQL性能調(diào)優(yōu)

眾所周知,正確的參數(shù)配置對(duì)提升Spark的使用效率具有極大助力,幫助相關(guān)數(shù)據(jù)開發(fā)、分析人員更高效地使用Spark進(jìn)行離線批處理和SQL報(bào)表分析等作業(yè)。

性能調(diào)優(yōu)選項(xiàng)

選型默認(rèn)值用途
spark.sql.codegenfalse設(shè)為 true 時(shí),Spark SQL 會(huì)把每條查詢?cè)~語在運(yùn)行時(shí)編譯為 Java 二進(jìn)制代碼。這可以提高大型查詢的性能,但在進(jìn)行小規(guī)模查詢時(shí)會(huì)變慢
spark.sql.inMemoryColumnarStorage.compressedfalse自動(dòng)對(duì)內(nèi)存中的列式存儲(chǔ)進(jìn)行壓縮
spark.sql.inMemoryColumnarStorage.batchSize1000列示緩存時(shí)的每個(gè)批處理的大小。把這個(gè)值調(diào)大可能會(huì)導(dǎo)致內(nèi)存不夠的異常
spark.sql.parquet.compression.codecsnappy使用哪種壓縮編碼器??蛇x的選項(xiàng)包括 uncompressed/snappy/gzip/lzo

幾種壓縮選項(xiàng)的特點(diǎn)

spark.sql.parquet.compressed.codec 默認(rèn)值為snappy 這個(gè)參數(shù)代表使用哪種壓縮編碼器。可選的選項(xiàng)包括uncompressed/snappy/gzip/lzo

uncompressed這個(gè)顧名思義就是不用壓縮的意思

格式可分割平均壓縮速度文本文件壓縮效率Hadoop壓縮編解碼器純java實(shí)現(xiàn)原生備注
snappy非???/td>org.apache.hadoop.io.compress.SnappyCodecSnapp有純java的移植版,但是在Spark/Hadoop中不能用
gziporg.apache.hadoop.io.compress.GzipCodec
lzo非???/td>中等org.apache.hadoop.io.compress.LzoCodec需要在每個(gè)節(jié)點(diǎn)上安裝LZO

可選的調(diào)優(yōu)選項(xiàng)

Property NameDefaultMeaning
spark.sql.files.maxPartitionBytes128 MB讀取文件時(shí)打包到單個(gè)分區(qū)的最大字節(jié)數(shù)
spark.sql.files.openCostInBytes4 MB打開一個(gè)文件的估計(jì)成本,取決于有多少字節(jié)可以被同時(shí)掃描,當(dāng)多個(gè)文件放入一個(gè) partition 時(shí)使用此方法。最好時(shí)過度估計(jì),這樣帶有小文件的 partition 就會(huì)比帶有大文件的 partition 快
spark.sql.broadcastTimeout300廣播連接中等待時(shí)的超時(shí)時(shí)間(以秒為單位)
spark.sql.autoBroadcastJoinThreshold10 MB配置一個(gè)表的最大大小,以便在執(zhí)行連接向所有節(jié)點(diǎn)廣播,將該值設(shè)置為 -1 的話廣播將會(huì)被禁用
spark.sql.shuffle.partitions200配置 partition 的使用數(shù)量當(dāng) shuffle 數(shù)據(jù)或聚合數(shù)據(jù)時(shí)

代碼示例

初始化設(shè)置Spark Application配置

構(gòu)建SparkSession實(shí)例對(duì)象

import org.apache.commons.lang3.SystemUtils
import org.apache.spark.SparkConf
import org.apache.spark.sql.streaming.OutputMode
import org.apache.spark.sql.{DataFrame, SparkSession}
object PerformanceTuneDemo {
	def main(args: Array[String]): Unit = {
		// 構(gòu)建SparkSession實(shí)例對(duì)象,設(shè)置相關(guān)屬性參數(shù)值
		val sparkConf = new SparkConf()
    		.setAppName(this.getClass.getSimpleName.stripSuffix("$"))
			.set("spark.sql.session.timeZone", "Asia/Shanghai")
			.set("spark.sql.files.maxPartitionBytes", "134217728")
			.set("spark.sql.files.openCostInBytes", "134217728")
			.set("spark.sql.shuffle.partitions", "3")
			.set("spark.sql.autoBroadcastJoinThreshold", "67108864")
		// 構(gòu)建SparkSession實(shí)例對(duì)象
		val spark: SparkSession = SparkSession.builder()
    		.config(sparkConf)
			.getOrCreate()
	}
}

到此這篇關(guān)于Spark SQL關(guān)于性能調(diào)優(yōu)選項(xiàng)詳解的文章就介紹到這了,更多相關(guān)Spark SQL性能調(diào)優(yōu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java純代碼實(shí)現(xiàn)導(dǎo)出文件為壓縮包

    Java純代碼實(shí)現(xiàn)導(dǎo)出文件為壓縮包

    這篇文章主要為大家詳細(xì)介紹了Java如何代碼實(shí)現(xiàn)導(dǎo)出文件為壓縮包,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-02-02
  • springboot處理異常的5種方式

    springboot處理異常的5種方式

    本文主要介紹了springboot處理異常的5種方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • Spring系列之事物管理

    Spring系列之事物管理

    這篇文章主要介紹了Spring系列之事物管理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring方面知識(shí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • 基于FlashPaper實(shí)現(xiàn)JSP在線閱讀代碼示例

    基于FlashPaper實(shí)現(xiàn)JSP在線閱讀代碼示例

    這篇文章主要介紹了基于FlashPaper實(shí)現(xiàn)JSP在線閱讀代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • SpringBoot微信消息接口配置詳解

    SpringBoot微信消息接口配置詳解

    這篇文章主要介紹了SpringBoot 微信消息接口配置詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-06-06
  • 最新IntelliJ?IDEA?2022配置?Tomcat?8.5?的詳細(xì)步驟演示

    最新IntelliJ?IDEA?2022配置?Tomcat?8.5?的詳細(xì)步驟演示

    這篇文章主要介紹了IntelliJ?IDEA?2022?詳細(xì)配置?Tomcat?8.5?步驟演示,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Java啟動(dòng)參數(shù)(-,?-X,?-XX參數(shù))的使用

    Java啟動(dòng)參數(shù)(-,?-X,?-XX參數(shù))的使用

    本文主要介紹了Java啟動(dòng)參數(shù)(-,?-X,?-XX參數(shù))的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java開發(fā)者必備10大數(shù)據(jù)工具和框架

    Java開發(fā)者必備10大數(shù)據(jù)工具和框架

    這篇文章主要為大家詳細(xì)介紹了Java開發(fā)者必備10大數(shù)據(jù)工具和框架,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • java設(shè)計(jì)模式--三種工廠模式詳解

    java設(shè)計(jì)模式--三種工廠模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java設(shè)計(jì)模式之工廠模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-07-07
  • win11?idea?shift+F6快捷鍵失效問題解決方案

    win11?idea?shift+F6快捷鍵失效問題解決方案

    這篇文章主要介紹了win11?idea?shift+F6快捷鍵失效問題,本文給大家分享最新解決方案,需要的朋友可以參考下
    2023-08-08

最新評(píng)論