中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spark調優應該怎么做

發布時間:2021-10-13 11:47:25 來源:億速云 閱讀:121 作者:柒染 欄目:數據庫

今天就跟大家聊聊有關Spark調優應該怎么做,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

  死鎖的問題通過分析死鎖日志文件解決了,由于上面一塊錯誤的認識。一直認為兩個非唯一索引可以命中單條記錄,其實mysql為了性能命中了多條。

  一個簡單的update語句,update?whereid1=1andid2=2id1和id2都是非唯一索引,這時有的語句會對因為優化導致上鎖其他索引周邊的數據條目,這時他會等待內建唯一索引的鎖,而同樣的語句會對內建唯一索引加鎖,等待id1或者id2的鎖,出現同一條語句回環等待鎖的釋放,導致死鎖發生。

  以后還是需要多看一些數據庫方面的書籍,對原理性知識了解的更多一些。

Spark中主要進程的作用?

  Driver進程:負責任務的分發和結果的回收。

  Executor進程:負責具體任務的執行。

  Master進程:Spark資源管理的主進程,負責資源調度。

  Worker進程:Spark資源管理的從進程,woker節點主要運行Executor

如何選擇一種最合適的持久化策略?

  默認情況下,性能最高的當然是MEMORY_ONLY,但前提是你的內存必須足夠足夠大,可以綽綽有余地存放下整個RDD的所有數據。因為不進行序列化與反序列化操作,就避免了這部分的性能開銷;對這個RDD的后續算子操作,都是基于純內存中的數據的操作,不需要從磁盤文件中讀取數據,性能也很高;而且不需要復制一份數據副本,并遠程傳送到其他節點上。但是這里必須要注意的是,在實際的生產環境中,恐怕能夠直接用這種策略的場景還是有限的,如果RDD中數據比較多時(比如幾十億),直接用這種持久化級別,會導致JVM的OOM內存溢出異常。

  如果使用MEMORY_ONLY級別時發生了內存溢出,那么建議嘗試使用MEMORY_ONLY_SER級別。該級別會將RDD數據序列化后再保存在內存中,此時每個partition僅僅是一個字節數組而已,大大減少了對象數量,并降低了內存占用。這種級別比MEMORY_ONLY多出來的性能開銷,主要就是序列化與反序列化的開銷。但是后續算子可以基于純內存進行操作,因此性能總體還是比較高的。此外,可能發生的問題同上,如果RDD中的數據量過多的話,還是可能會導致OOM內存溢出的異常。

  如果純內存的級別都無法使用,那么建議使用MEMORY_AND_DISK_SER策略,而不是MEMORY_AND_DISK策略。因為既然到了這一步,就說明RDD的數據量很大,內存無法完全放下。序列化后的數據比較少,可以節省內存和磁盤的空間開銷。同時該策略會優先盡量嘗試將數據緩存在內存中,內存緩存不下才會寫入磁盤。

  通常不建議使用DISK_ONLY和后綴為_2的級別:因為完全基于磁盤文件進行數據的讀寫,會導致性能急劇降低,有時還不如重新計算一次所有RDD。后綴為_2的級別,必須將所有數據都復制一份副本,并發送到其他節點上,數據復制以及網絡傳輸會導致較大的性能開銷,除非是要求作業的高可用性,否則不建議使用。

看完上述內容,你們對Spark調優應該怎么做有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙陵县| 瑞金市| 高唐县| 黔东| 故城县| 新营市| 广安市| 唐海县| 宽城| 舞钢市| 安丘市| 江孜县| 上思县| 普陀区| 海安县| 柘城县| 建瓯市| 盈江县| 广东省| 徐州市| 彝良县| 富宁县| 兴仁县| 淮阳县| 公主岭市| 锦屏县| 武强县| 新化县| 南充市| 三门峡市| 通城县| 商洛市| 宣汉县| 双鸭山市| 平阴县| 鲁山县| 延安市| 德安县| 商都县| 瑞昌市| 扎鲁特旗|