成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

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

在開(kāi)發(fā)Spark Streaming應(yīng)用程序時(shí),要結(jié)合集群中各節(jié)點(diǎn)的配置情況盡可能地提高數(shù)據(jù)處理的實(shí)時(shí)性。在調(diào)優(yōu)的過(guò)程中,一方面要盡可能利用集群資源來(lái)減少每個(gè)批處理的時(shí)間;另一方面要確保接收到的數(shù)據(jù)能及時(shí)處理掉。

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到汕頭網(wǎng)站設(shè)計(jì)與汕頭網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋汕頭地區(qū)。


運(yùn)行時(shí)間優(yōu)化


  • 設(shè)置合理的批處理時(shí)間和窗口大小


Spark Streaming中作業(yè)之間通常存在依賴(lài)關(guān)系,后面的作業(yè)必須確保前面的作業(yè)執(zhí)行結(jié)束后才能提交,若前面的作業(yè)的執(zhí)行時(shí)間超過(guò)了設(shè)置的批處理時(shí)間間隔,那么后續(xù)的作業(yè)將無(wú)法按時(shí)提交執(zhí)行,造成作業(yè)的堵塞。也就是說(shuō)若想Spark Streaming應(yīng)用程序穩(wěn)定地在集群中運(yùn)行,對(duì)于接收到的數(shù)據(jù)必須盡快處理掉。例如若設(shè)定批處理時(shí)間為1秒鐘,那么系統(tǒng)每1秒鐘生成一個(gè)RDD,如果系統(tǒng)計(jì)算一個(gè)RDD的時(shí)間大于1秒,那么當(dāng)前的RDD還沒(méi)來(lái)得及處理,后續(xù)的RDD已經(jīng)提交上來(lái)在等待處理了,這就產(chǎn)生了堵塞。因此需要設(shè)置一個(gè)合理的批處理時(shí)間間隔以確保作業(yè)能夠在這個(gè)批處理時(shí)間間隔時(shí)間內(nèi)結(jié)束。許多實(shí)驗(yàn)數(shù)據(jù)表明,500毫秒對(duì)大多Spark Streaming應(yīng)用而言是較好的批處理時(shí)間間隔。


類(lèi)似地,對(duì)于窗口操作,滑動(dòng)時(shí)間間隔對(duì)于性能也有很大的影響。當(dāng)單批次數(shù)據(jù)計(jì)算代價(jià)過(guò)高時(shí),可以考慮適當(dāng)增大滑動(dòng)時(shí)間間隔。


對(duì)于批處理時(shí)間和窗口大小的設(shè)定,并沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)。通常是先從一個(gè)比較大的批處理時(shí)間(10秒左右)開(kāi)始,然后不斷地使用更小的值進(jìn)行對(duì)比測(cè)試。如果Spark Streaming用戶界面中顯示的處理時(shí)間保持不變,則可以進(jìn)一步設(shè)定更小的值;如果處理時(shí)間開(kāi)始增加,則可能已經(jīng)達(dá)到了應(yīng)用的極限,再減小該值則可能會(huì)影響系統(tǒng)的性能。


  • 提高并行度


提高并行度也是一種減少批處理所消耗時(shí)間的常見(jiàn)方法。有以下三種方式可以提高并行度。一種方法是增加接收器數(shù)目。如果獲取的數(shù)據(jù)太多,則可能導(dǎo)致單個(gè)節(jié)點(diǎn)來(lái)不及對(duì)數(shù)據(jù)進(jìn)行讀入與分發(fā),使得接收器成為系統(tǒng)瓶頸。這時(shí)可以通過(guò)創(chuàng)建多個(gè)輸入DStream來(lái)增加接收器數(shù)目,然后再使用union來(lái)把數(shù)據(jù)合并為一個(gè)數(shù)據(jù)源。第二種方法是將收到的數(shù)據(jù)顯式地重新分區(qū)。如果接收器數(shù)目無(wú)法再增加,可以通過(guò)使用DStream.repartition、spark.streaming.blocklnterval等參數(shù)顯式地對(duì)Dstream進(jìn)行重新分區(qū)。第三種方法是提高聚合計(jì)算的并行度。對(duì)于會(huì)導(dǎo)致shuffle的操作,例如reduceByKey、reduceByKeyAndWindow等操作,可通過(guò)顯示設(shè)置更高的行度參數(shù)確保更為充分地使用集群資源。


內(nèi)存使用與垃圾回收


  • 控制批處理時(shí)間間隔內(nèi)的數(shù)據(jù)量


Spark Streaming會(huì)把批處理時(shí)間間隔內(nèi)獲取到的所有數(shù)據(jù)存放在Spark內(nèi)部可用的內(nèi)存中。因此必須確保在當(dāng)前節(jié)點(diǎn)上SparkStreaming可用的內(nèi)存容量至少能容下一個(gè)批處理時(shí)間間隔內(nèi)所有的數(shù)據(jù)。比如一個(gè)批處理時(shí)間間隔是1秒,但是1秒產(chǎn)生了1GB的數(shù)據(jù),那么要確保當(dāng)前的節(jié)點(diǎn)上至少有可供SparkStreaming使用的1GB內(nèi)存。


  • 及時(shí)清理不再使用的數(shù)據(jù)


對(duì)于內(nèi)存中處理過(guò)的、不再需要的數(shù)據(jù)應(yīng)及時(shí)清理,以確保Spark Streaming能夠擁有足夠的內(nèi)存空間可以使用。一種方法是可以通過(guò)設(shè)置合理的spark.cleaner.ttl時(shí)長(zhǎng)來(lái)及時(shí)清理超時(shí)的無(wú)用數(shù)據(jù),但該方法應(yīng)慎重使用,以免后續(xù)數(shù)據(jù)在需要時(shí)被錯(cuò)誤清理。另一種方法是將spark.streaming.unpersist設(shè)置為true,系統(tǒng)將自動(dòng)清理已經(jīng)不需要的RDD。該方法能顯著減少RDD對(duì)內(nèi)存的需要,同時(shí)潛在地提高GC的性能。此外用戶還可以通過(guò)配置參數(shù)streamingContext.remember為數(shù)據(jù)設(shè)置更長(zhǎng)的保留時(shí)間。


  • 減少序列化與反序列化的負(fù)擔(dān)


SparkStreaming默認(rèn)將接收到的數(shù)據(jù)序列化后放入內(nèi)存,以減少內(nèi)存使用。序列化和反序列化需要更多的CPU資源,因此使用適當(dāng)?shù)男蛄谢ぞ撸ɡ鏚ryo)和自定義的序列化接口可以更高效地使用CPU。除了使用更好的序列化工具外還可以結(jié)合壓縮機(jī)制,通過(guò)配置spark.rdd.compress,以CPU的時(shí)間開(kāi)銷(xiāo)來(lái)?yè)Q取內(nèi)存資源,降低GC開(kāi)銷(xiāo)。

分享題目:SparkStreaming性能調(diào)優(yōu)
URL分享:http://jinyejixie.com/article2/gpsgoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT標(biāo)簽優(yōu)化、軟件開(kāi)發(fā)用戶體驗(yàn)、響應(yīng)式網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司
鄄城县| 雷州市| 特克斯县| 佛坪县| 策勒县| 乌审旗| 新泰市| 句容市| 陈巴尔虎旗| 东丰县| 佛坪县| 抚松县| 奇台县| 铜陵市| 岳普湖县| 会东县| 新绛县| 神木县| 汕头市| 石狮市| 雅江县| 沙雅县| 吐鲁番市| 洪泽县| 仙居县| 江西省| 郎溪县| 亳州市| 肥西县| 东阳市| 专栏| 维西| 同心县| 凭祥市| 南丰县| 营口市| 阿克| 浏阳市| 济宁市| 邹平县| 瑞安市|