最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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進行離線批處理和SQL報表分析等作業(yè)。

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

選型默認(rèn)值用途
spark.sql.codegenfalse設(shè)為 true 時,Spark SQL 會把每條查詢詞語在運行時編譯為 Java 二進制代碼。這可以提高大型查詢的性能,但在進行小規(guī)模查詢時會變慢
spark.sql.inMemoryColumnarStorage.compressedfalse自動對內(nèi)存中的列式存儲進行壓縮
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ù)代表使用哪種壓縮編碼器。可選的選項包括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)文章

最新評論

从江县| 千阳县| 宜城市| 馆陶县| 淮滨县| 临武县| 周至县| 温泉县| 花莲县| 达尔| 安西县| 临西县| 格尔木市| 康保县| 都兰县| 长葛市| 铁岭县| 桃园县| 宁陵县| 当涂县| 侯马市| 蓬安县| 苍南县| 营山县| 邢台县| 烟台市| 剑川县| 介休市| 扶绥县| 双江| 会泽县| 财经| 洪湖市| 德江县| 呼图壁县| 靖西县| 池州市| 保山市| 达日县| 和林格尔县| 利川市|