欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

幾種壓縮選項的特點

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

uncompressed這個顧名思義就是不用壓縮的意思

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

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

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

代碼示例

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

構(gòu)建SparkSession實例對象

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è)置相關(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實例對象
		val spark: SparkSession = SparkSession.builder()
    		.config(sparkConf)
			.getOrCreate()
	}
}

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

相關(guān)文章

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

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

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

    springboot處理異常的5種方式

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

    Spring系列之事物管理

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

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

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

    SpringBoot微信消息接口配置詳解

    這篇文章主要介紹了SpringBoot 微信消息接口配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    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ì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Java啟動參數(shù)(-,?-X,?-XX參數(shù))的使用

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

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

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

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

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

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

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

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

最新評論